models
用来控制后台:css
- 继承自models.Model的类用于数据库的操做:
其中能够有继承关系用来表示关系型数据库的关系
数据库的东西里面有一些类型,好比CharField TextField ForeignKey DateTimeField
全部对于数据库的操做均可以经过django的数据库层来操做,好比.filter(state)用来查找 .order_by(columnname)用来排序 除非对models作了修改,这时候须要对数据库的直接操做
每个继承自models。Model类的类,django会为其生成一张表表示一个关系
- 继承自admin.ModelAdmin的类主要能够对后台的管理界面作一些修改:
其中有一些特殊的变量用以控制django后台的元素好比 list_display
admin。site。register(models)能够在后台开一个添加按钮界面,里面能够添加一些图书信息
views
views利用函数控制返回的页面,负责装载数据返回完整的页面:html
- 模板页面放在app目录下的templates下面:
至关于一个html页面。里面能够包含css内容,能够被有views。py中的函数访问存取
在1.8.3中控制templates目录的由之前的template——dirs的tuple转为了settings.py的templates下的dirs,转为了数组
- views就放在app的目录下面,里面没一个函数均可以直接在urls中包含使用
HTTPResponse函数返回的是一个完整的http相应请求其中包含header什么的,而传入的内容是一个html页面,是字符串的形式,,通常来讲能够直接传入一个html页面,可是还有css,这点暂时不太清楚,不过可知的动态页面能够由从class。object。all 获取具体的数据库列,而后用loader。get_template获取html页面 用render(Context())装载数据
urls:
- url的访问控制在mysite的urls.py文件的urlPattern数组中:
每个url都有前面的url函数做为转换函数,url中则是一个映射信息,从url映射到视图函数
- 在最新的版本中,有一些关于urls的改动:
在django的1.8.3版中没有django。conf。urls。default,它把default挪到了urls里面,这是之前的教程所没有更新的
- post and get:
默认的饿访问方式是url访问中的get,post发送数据的话在html中嵌入action使用一个方法methods方法名//方法名能够任意存储数据,在服务器端使用request.方法名得到数据,使用 ‘key’ in request判断数据的存在性
其余:
-
appnamepython
app的名字尽可能不要包含大写,也不要太长,否则可能出现django找不到app中的modules中的状况
-
quicktest for learningweb
在django的工程目录下,若是是1.8.X的django,能够敲python manage.py shell 进入工程shell进行快速测试与学习
- 关于project下自动生成的同名app
如同题目,那个同名文件夹是自动生成的app里面的全部操做和普通的app相同,不过在启动服务器之后会默认调用同名app下的内容,好比urls之类,咱们能够直接把主页和404页面放到这个app下面