当前位置: 首页 > Linux

【连载】Django入门实战(一)

时间:2023-04-06 05:25:15 Linux

1.项目目录结构介绍manager.py与项目交互的命令行工具集入口(项目管理器)MyDjango目录:项目容器,包括项目的基本配置,目录名不建议修改__init__.pyPython中声明模块的文件,内容默认为空settings.py项目的通用配置文件,包括数据库、web应用、时间等各种配置urls.pyURL配置文件,所有地址Django项目中的(pages)需要自己配置URLwsgi.pyWSGI(PythonWebServerGatewayInterface)Python服务器网关接口,Python应用与Web服务器的接口mytest目录:开发者创建的应用命令行:pythonmanage.pystartappmytest(需要使用命令行手动创建应用在settings.py中的INSTALLED_APPS中添加应用名称,应用名称不能与Python中的模块名称相同)Django服务端启动命令:pythonmanage.pyrunserver[端口号]2.应用目录结构介绍migrations数据迁移(migration)模块__init__.pyPython中声明模块的文件,内容默认为空admin.py应用的后台管理系统配置apps.py应用的一些配置,models.py数据模型是Django-1.9之后自动生成的,使用ORM框架,类似基于MVC结构中的Models(模型)tests.py自动化测试模块,Django提供自动化测试功能。这里,编写测试脚本(语句)views.py执行响应代码和逻辑处理的主要模块,包含了项目的大部分代码3.响应页面示例编辑views.py每个响应对应一个函数,函数必须返回一个响应,函数必须有一个参数,一般约定是request,每个response(函数)对应一个url编辑urls.py每个url都写成url的形式。url函数放在urlpatterns列表中。url函数有三个参数:URL(常规)、对应的方法和名称。四、url配置在根urls.pyinclude中引入;在APP目录下创建一个与urls.py格式相同的urls.py文件;将rooturls.py中url函数的第二个参数改为include('blog.urls')注:rooturls.py为APP配置的URL名称是APP所有URL的总路径;配置URL时注意正则表达式结尾字符$和/。HTML文件,也可以使用第三方模板(如Jinja2)5.1使用步骤在APP根目录下创建一个名为Templates的目录,在该目录下创建HTML文件,并在views.py中返回render()5.2DTL初步使用render()函数支持一个dict类型的参数。字典是后台传给模板的参数,key是参数名。在template中使用{{parametername}}直接使用5.3Django查找Templates。Django根据INSTALLED_APPS中添加的顺序搜索Templates。不同APP下Templates目录下的同名.html文件会产生冲突。Templates冲突的解决方法:在APP的Templates目录下新建一个以APP命名的目录,将html文件放到新建的目录下。6.Django中的Models介绍Django中的Models通常是一张数据表对应一个数据库。Django中的模型以类的形式表示,包含一些基本的字段和数据的一些行为。ORM(Object-RelationalMapping,对象关系映射):实现了对象与数据库之间的映射,隐藏了数据访问的细节,无需编写SQL语句。6.1编写模型步骤在APP根目录下创建models.py,引入models模块创建一个继承models.Model的类。这个类是一个数据表在类中创建字段,字段就是类中的属性(变量)。attr=models.CharField(max_length=64)更多类的字段和可选参数6.2生成数据表:在命令行中输入manage.p在同级目录下执行pythonmanage.pymakemigrationsapp_name(可选),然后执行pythonmanage.pymigrate6.3查看生成的数据表。django会自动在app/migrations/目录下生成迁移文件,执行pythonmanage.pysqlmigrate应用名文件id查看sql语句默认sqlite3数据库在项目根目录下的db.sqlite36.4前端页面渲染数据中,importmodelsarticle=models.Article.objects.get(pk=1)render(request,page,{'article':article})views.py中的template可以直接使用objects和“.”对象的操作,例如{{article.title}}VII.Admin简介Admin是Django自带的一个强大的自动化数据管理界面。授权用户可以直接在后台管理数据库。Django为Admin7.1提供了很多自定义的功能配置Admin创建超级用户:pythonmanage.pycreatesuperuser后台登录地址:http://127.0.0.1:8000/admin/更改语言为中文:修改settings中的LANGUAGE_CODE='zh_Hans.py'7.2配置应用在应用admin.py中引入自己的模型模块(或者里面的模型类)编辑admin.py:admin.site.register(models.Article)7.3修改数据的默认显示名称添加Article类下的一个方法根据Python版本选择__str__(self)或__unicode__(self),返回self.title8.Templatesfilter写在模板里,属于Django模板语言。您可以修改模板中的变量以显示不同的内容。使用方法:{{值|过滤器}},例如{{list_nums|length}}过滤器可以叠加:{{value|过滤器1|过滤器2|...}}九、DjangoShellPython的交互式命令行程序,自动引入我们的项目环境使用方法:pythonmanage.pyshell函数:调试,测试一些未知方法搜索并关注微信公众号:cuntubizhengID:bbcoins