一、项目目录结构介绍
manager.py
与项目进行交互的命令行 工具 集的入口(项目管理器)
MyDjango
目录:项目容器,包含项目的基本配置,目录名称不建议修改
__init__.py
Python中声明模块的文件,内容默认为空
settings.py
项目的总配置文件,包含数据库、Web应用、时间等各种配置
urls.py
URL配置文件,Django项目中所有地址(页面)都需要我们自己去配置其URL
wsgi.py
WSGI(Python Web Server Gateway Interface)Python服务器网关接口,Python应用与Web服务器之间的接口
mytest
目录:开发者创建的应用
命令行: python manage.py startapp mytest
(使用命令行创建应用时需要手动将应用名添加到settings.py中的 INSTALLED_APPS
里,应用名不能与 Python 中模块名相同)
Django服务器启动命令: python manage.py runserver [端口号]
二、应用目录结构介绍
migrations
数据移植(迁移)模块
__init__.py
Python中声明模块的文件,内容默认为空
admin.py
应用的后台管理系统的配置
apps.py
应用的一些配置,Django-1.9以后自动生成
models.py
数据模型,使用ORM框架,类似于MVC结构中的Models(模型)
tests.py
自动化测试模块,Django提供了自动化测试功能,在这里编写测试脚本(语句)
views.py
执行响应代码和逻辑处理的主要模块,包含项目中的大部分代码
三、响应页面示例
编辑 views.py
每个响应对应一个函数,函数必须返回一个响应,函数必须存在一个参数,一般约定为request,每一个响应(函数)对应一个URL
编辑 urls.py
每个URL都以url的形式写出来,url函数放在urlpatterns列表中,url函数三个参数:URL(正则)、对应的方法、名称
四、URL配置
在根 urls.py
中引入include;在APP目录下创建 urls.py
文件,格式与 urls.py
相同;根 urls.py
中url函数第二个参数改为 include('blog.urls')
注意事项:根 urls.py
针对APP配置的URL名称,是该APP所有URL的总路径; 配置URL时注意正则表达式结尾符 $和/
五、Templates介绍
定义:使用了Django模板语言( Django Template Language, DTL
)的HTML文件,也可以使用第三方模板(如 Jinja2
)
5.1 使用步骤
- 在APP的根目录下创建名叫
Templates
的目录 - 在该目录下创建HTML文件
- 在
views.py
中返回render()
5.2 DTL初步使用
render()
函数中支持一个dict类型参数,该字典是后台传递到模板的参数,键为参数名,在模板中使用 {{ 参数名 }} 来直接使用
5.3 Django查找Templates
Django按照INSTALLED_APPS中的添加顺序查找Templates,不同APP下Templates目录中的同名.html文件会造成冲突
解决Templates冲突方案:在APP的 Templates
目录下创建以APP名为名称的目录,将html文件放入新创建的目录下
六、Models介绍
Django中的Models通常是一个Model对应数据库的一张数据表,Django中的Models以类的形式表现,它包含了一些基本字段以及数据的一些行为
ORM( Object-Relational Mapping
, 对象关系映射):实现了对象和数据库之间的映射,隐藏了数据访问的细节,不需要编写 SQL 语句
6.1 编写Models步骤
models.py models.Model
attr = models.CharField(max_length = 64)
更多关于类的字段以及可选参数
6.2 生成数据表:
命令行中进入 manage.p
同级目录执行 python manage.py makemigrations app_name(可选)
,再执行 python manage.py migrate
6.3 查看生成的数据表
Django会自动在 app/migrations/
目录下生成移植文件,执行 python manage.py sqlmigrate
应用名 文件id 查看SQL语句
默认 sqlite3
的数据库在项目根目录 下 db.sqlite3
6.4 前端页面呈现数据
views.py
中 import models
article = models.Article.objects.get(pk=1)
render(request, page, {'article' : article})
模板可直接使用对象以及对象的"."操作,如 {{ article.title }}
七、Admin介绍
Admin是Django自带的一个功能强大的自动化数据管理界面,被授权的用户可直接在Admin中管理数据库,Django提供了许多针对Admin的定制功能
7.1 配置Admin
创建超级用户: python manage.py createsuperuser
后台登录地址: http://127.0.0.1 :8000/admin/
更改语言为中文:修改settings.py中 LANGUAGE_CODE = 'zh_Hans'
7.2配置应用
在应用下 admin.py
中引入自身的models模块(或里面的模型类)
编辑 admin.py: admin.site.register(models.Article)
7.3 修改数据默认显示名称
在 Article
类下添加一个方法
根据Python版本选择 __str__(self)
或 __unicode__(self)
, return self.title
八、Templates过滤器
写在模板中,属于Django模板语言,可以修改模板中的变量从而显示不同的内容
使用方法: {{ value | filter }}, 如{{ list_nums | length }}
过滤器可叠加: {{ value | filter1 | filter2 | … }}
九、Django Shell
Python的交互式命令行程序,它自动引入了我们的项目环境
使用方法: python manage.py shell
作用:进行调试,测试一些未知方法
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。