Django
Django是一个Web框架,采用MTV(Model-Template-View)模型组织
Django框架的官方文档:https://docs.djangoproject.com/en/3.0/
创建Django Web框架工程:
>django-admin startproject projectname
创建应用程序:
>python manage.py startapp appname
启动Django Web调试服务:
>python manage.py runserver
>django-admin <command> [options]
django-admin是一个Django框架全局的管理工具:
具体功能: >django-admin help
>python manage.py <command> [options]
与django-admin类似,但仅针对当前项目
具体功能:>python manage.py help
from django.urls import path, re_path
指定url与处理函数之间的路由关系
path(route, view, kwargs=None, name=None), #url为字符串
re_path(route, view, kwargs=None, name=None), #url为正则表达式
route : URL或URL模式,Django定义的URL转换语法
精确字符串格式:url1/url2/
Django的转换格式:<类型:变量名>,url1/<int:year>/
类型:
str:除分隔符(/)外的非空字符串,默认类型
int:0和正整数
slug:字母、数字、横杠、下划线组成的字符串,str的子集
uuid:格式化的uuid
path:任何非空字符串,包括路径分割符(/),是全集
正则表达式格式:url1/(?P<year>[0-9]{4}/
简单形式 (pattern),不提取参数:url1/([0-9]{4})/
命名形式 (?P<name>pattern),提取参数,统一为str类型:url1/(?P<year>[0-9]{4})/
view : 处理(视图)函数的名称,或include()类
kwargs: 向处理函数提供的额外参数,以字典形式表示
name : 给URL模式的命名
from django.urls import include
用于引用其他路由文件
path('url/', include('appname.urls')),
路径去重:
urlpatterns = [
path('url/url1', view1),
path('url/url2',view2),
]
urlpatterns = [
path('url/', include([
path('url1',view1),
path('url2',view2),
])),
]
设置模板路径:
应用中新建模板目录templates
修改工程中配置文件:settings.py
修改TEMPLATES列表的'DIRS':[os.path.join(BASE_DIR, 'appname/templates')],
Django 的响应类型
(from django.http import HttpResponse)
HttpResponse类及子类
HttpResponse:主要反馈类型,父类,HTTP状态码默认为200
HttpResponseRedirect:重定向,HTTP状态码为302
HttpResponsePermanentRedirect:永久重定向,HTTP状态码为301
HttpResponseNotModified:网页无改动,该类型无任何参数,HTTP状态码为304
HttpResponseBadRequest:不良响应,HTTP状态码为400
HttpResponseForbidden:禁止访问,HTTP状态码为403
HttpResponseNotAllowed:不被允许,HTTP状态码为405
HttpResponseGone:HTTP状态码为410
HttpResponseServerError:服务器错误,HTTP状态码为500
HttpResponseNotFound:404错误,HTTP状态码为404
JsonResponse
JsonResponse(data) data : 字典类型,返回的JSON类型数据
StreamingHttpResponse
StreamingHttpResponse(streaming_content) streaming_content : 内容的迭代器形式,以内容流的方式响应
FileResponse
FileResponse(stream) stream : 以流形式打开后的文件
模板语言
注释
单行注释:
{# 这是单行注释 #}
多行注释:
{% comment %}
这是多行注释第一行
这是多行注释第二行
{% endcomment %}
变量:如果变量本身是字典类型、列表类型或对象,用.获取元素
{{ name }}
{{ dict.key }}
{{ list.0 }}
{{ object.attribute }}
标签
标签中的关键字包括for, endfor, block, endblock, if, elif, else, endif, in, trans, as, with, extends 等
{% 关键字引导的程序逻辑 %}
过滤器
过滤器对变量的值进行修饰 lower, escape, linebreaks, date, length等
{{ name|过滤标签 }}

浙公网安备 33010602011771号