概念整理:
Django的MTV模式
model 数据模型
template视图模型
view controler一个url模型,将传入的请求映射到对应的视图中去
Django是如何请求处理的,Django采用自底向上处理请求,它首先先查找匹配的url模式,接着调用对应的视图函数,经渲染好的数据通过模板展现给用户.controller-template-model,正好与开的顺序是相反的
构建应用的一般顺序:
创建基本的模板(template)
设计一个url模式,让Django可以立即访问应用
创建视图模型,在此基础上迭代开发
{{post.title}}传递给模板的变量是特殊的Python字典.称为上下文(context)
include函数:
#urls.py
from django.conf.urls import url
from django.contrib import admin
from myapp.views import view1#记得导入
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^myapp/view1', view1),]
#但是使用了include函数就可以这样
#myapp里面
from .views import view1
urlpatterns = [
url(r'^myapp/view1', view1),]
然后在urls.py里面添加
from django.conf.urls import include,url
urlpatterns=[url(r'^myapp/', include("myapp.urls"))]
这样就可以将url对应的页面找到了,也不必都在urls里面乱糟糟的写一堆网页的url了
queryset:可以认为是数据库中的每行数据
modelname.objects.all().orderby出的数据可以利用切片语法[:9]这种用法
怎么让用户输入数据:
添加一个html表单,让用户输入数据.
插入url这样的urlconf项
创建视图(view)来处理用户的输入
跨站点请求伪造:CSRF
1向表单中添加csrf标记{%csrf_token%},让这些post回到对应的页面
2通过模板发送这些标记的请求上下文实例
出现403错误:render_to_response()
处理数据:直接给进form然后验证是否有效,然后进行操作
form.isvalid()
改善外观的模板
1创建CSS文件
2.创建基模板,并使用模板继承
{%extends ".html"%}
{%block content%}
{%endblock%}
单元测试:感觉和Junit差不多的意思.会Junit这个就差不多