Python3学习笔记十八
1. MTV
M: model 与数据库相关
T: Template 与html相关
V: views 与逻辑相关
一. URL配置
启动:python manage.py runserver 127.0.0.1:8000
urlpatterns = [ #url(r'^admin/', admin.site.urls), url(r'^login/', views.login), url(r'^index/', views.index), # url(r'^test/', views.test), url(r'^hosts/', views.hosts), url(r'^users/', views.users), url(r'^parts/', views.parts), url(r'^part_add/', views.part_add), url(r'^part_del/', views.part_del), url(r'^part_edit/', views.part_edit), url(r'^tempceshi/', views.tempceshi), ]
url是一个方法,
url分发的使用: 使用include
url的方向解析: 使用name关键字
二. 视图
请求对象: request
request.method: 请求方式
request.body "原始数据"
request.GET
request.POST
request.path: 请求路径
request.META: 所有请求头信息
响应对象:response
HttpResponse :返回字符串
redirect 重定向
render 返回一个模版 render(request,"index.html",locals())
三. 模版
1. 渲染变量 {{变量}}
深度查询 句点符号 .
过滤器:{{ 变量 | 过滤器名称:参数}}
例子: {{ i | add:5}}
{{ i | default:"11111"}}
{{i | filesizeformat}}
{{i | date='Y-m-d'}}
{{i | safe}} 标签不会转义
2. 渲染标签 {%标签名称%}
{%for i in 迭代对象%}
{%endfor%}
{%if i == 10%}
<p>i等于10</p>
{%endif%}
{% url %}
{% csrf_token %} 中间件
3. 模版继承
{% extends %}
四. model
ORM操作
http://www.cnblogs.com/yuanchenqi/articles/7552333.html
添加一条记录:
create
save
查询记录: (数据类型:QuerySet)
all QuerySet对象
filter 过滤 QuerySet对象
first 取第一个 model对象
last 取最后一个 model对象
get 如果查询结果不等于1,就报错。 model对象
exclude 排除 QuerySet对象
values 方法由QuerySet内置调用
order by 按照某个字段升序默认,可以修改为降序,加一个-.
count 统计计数
distinct 去重
删除:
delete #默认级联删除
更新
update
双下划线查询
五. 多表操作
1. 确定表关系
如果确定是一对多的关系,必须知道哪张表是一,哪张表是一。
在多所在的表中创建关联字段。
如果确定是多对多的关系:必须创建第三张表。最少有主键字段,两个关联字段。
2. 一对多的添加操作:
方式一:
直接在表中添加数据。
例子:
方式二: