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|过滤标签 }}  

 

posted @ 2020-05-11 15:59  大愚小崽  阅读(116)  评论(0)    收藏  举报