MVC :
Modle : 业务对象与数据库对象
View : 如何展示页面
Controller : 路由处理函数
MTV:
Modle: 业务对象与数据库对象
Template : 如何展示页面
View : 视图函数
安装django: pip install django
命令创建django项目django-admin startproject name
命令创建django应用python manager.py startapp name
命令行启动应用 python manager.py runserver
简单开发流程:
在urls.py里面添加url path里面第一个参数是一个正则表达式 第二个参数是处理函数 第三个参数是别名
from django.conf.urls import url
urlpatterns = [
path('admin/', admin.site.urls),
path('show_time/',views.show_time),
url(r'artical/(\d{4})', views.artical_year),
]
在views.py添加处理函数回传HttpResponse类
def show_time(req):
#return HttpResponse("hello")
配置静态文件夹路径 在settings.py里面添加
第一种方法:
STATIC_URL = '/static/' #别名项目中实际使用的名字
STATICFILES_DIRS=(
os.path.join(BASE_DIR,"static"),
)
修改html文件 用<script src="/static/jquery-3.1.1.js"></script> 或者
{% load staticfiles %}
<script src={% static 'jquery-3.1.1.js' %}></script> 引入js文件
urls.py里面添加路径url里的正则表达式分组会作为参数传到view函数中
无命名分组
url(r'artical/(\d{4})', views.artical_year),
有命名分组
url(r'artical/(?P<year>\d{4})', views.artical_year),
Url分发
urlpatterns = [ path('admin/', admin.site.urls), url('blog/', include('blog.urls')) ]
redirect: 重定向至一个新页面
render: 渲染页面
模板语法:HTML + 逻辑控制代码
变量:{{var}}
句点符:集合,字典,列表, 类都是通过.访问内容
过滤器:对变量记性处理 {{var | filter}}
add 加法,capfirst 首字母大写, cut 移除内容
date 格式化日期 {{time | date:"Y-m-d"}}
safe:可信的内容
标签:{% tags %}
if标签:
{% if a>b %}
{%elif%}
{%else%}
{%endif%}
for标签
forloop.counter:for循环索引值
forloop.revcounter:for循环反向索引值
forloop.first:是不是第一次遍历
{%for x in l%}
{%empty%} #是否是空的
{%endfor%}
csrf_token标签:{%csrf_token%}
verbatim标签:禁止渲染{%verbatim%} {%verbatimend%}
{% load %}:标签库
自定义filter和simple_tag
在app下创建templatetags文件夹,创建自己的tag文件
from django import template
register = template.Library()
@register.filter
def filter_multi(x,y):
return x*y
@register.simple_tag
def simple_tag_multi(x,y):
return x*y
模板继承
{% extends "base.html"%}
{%block name%}
{%endblock%}
{{block.super}} 父类的内容