Django例程:建立一个投票应用
编写一个Django应用
-
cd到指定文件夹,创建项目,生成mysite目录(整个项目的容器)(mysite可以换名字)
-
manage.py:管理项目的命令行工具
-
mysite/目录:一个python包,用mysite.url的形式调库
-
__init__:包的标识
-
settings.py:配置文件,用于项目的默认设置,添加应用时需在此注册
-
urls.py:url声明,注册各应用的url
-
asgi.py:运行在 ASGI 兼容的 Web 服务器上的入口
-
wsgi.py:运行在 WSGI 兼容的Web服务器上的入口
-
-
-
用于测试开发的本地服务器:
...\> py manage.py runserver -
创建应用:
...\> py manage.py startapp polls-
__init__:包的标识是
-
admin.py:生成网站后台
-
apps.py:?
-
migrations/:存数据库结构,自动生成
-
models.py:定义关系及其属性和方法,用于生成数据库
-
tests.py:用于测试代码
-
views.py:每def一个view是一个网页
-
-----------------------------以下为手动建立----------------------------------------------
-
templates/:存放html模板
-
statics/:存放css样式文件和图片等静态资源
-
urls.py:存放url patterns,确定各种url会到哪个view
-
path函数:route匹配url,view确定对应调用的视图函数并传入HttpRequest,name标识url
-
-
-
配置数据库
-
在settings.py中设置当前时区
-
使用
...\> py manage.py migrate来创建/生成数据表 -
在models.py中新建class,每个class是一个关系表
-
-
在settings.py中注册应用(INSTALLED_APPS)
-
接着
...\> py manage.py makemigrations polls重新检测模型文件,生成迁移后的数据库结构 -
...\> py manage.py migrate来应用本次迁移
-
-
使用数据库API
-
import对应model
-
.objects.all()方法可以查询全体 -
用
.运算来查询已知元组的属性 -
用类的构造函数和
.save()方法来增加元组 -
__str__方法可以显示对象内容 -
.objects.fliter()方法可以进行条件查询 -
.object.get()方法可以给变量赋值为该关系中的某一元组
-
-
创建管理员账号
-
向管理页面中加入应用:
admin.site.register(关系名),注册类的所有对象会被显示,并可以被编辑 -
建立视图
-
基本要求:返回一个HttpResponse或者抛出一个异常
-
从models中的类的实例里得到数据,用render来导入模板
-
模板中的url可以不用硬编码
-
需要为urls添加命名空间
-
-
用合适的try-except-raise来实现业务逻辑,抛出异常等
-
注意快捷函数
-
-
用
request.POST()获得数据,这是一个类字典对象,可以获取提交的数据 -
返回一个
HttpResponseRedirect,重定向至新的url -
通用视图:
-
具有特定模式的页面,抽象成一个class,继承于特定模式的通用视图
-
detailView期望从url中捕获主键值
-
-
-
写测试
-
对每个模型或视图建立一个测试类
-
模型要测试所有的方法
-
视图要用client模拟用户行为
-
-
使用静态文件
-
建立目录:应用/static/应用/
-
使用样式,图片和视频
-
-
后台开发
-
注册模型使之被显示
-
更改在列表中显示属性:
list_display-
使用display()
-
-
建立专门的class来设置显示内容
-
自定义后台外观:工程模板
-

浙公网安备 33010602011771号