2021-06-01

  • Post author:
  • Post category:其他



day04

一、 昨日内容回顾

1、 JsonResponse

return JsonResponse(data, safe=False, json_dumps_params={'ensure_ascii': False})

2、 HttpResponse

return HttpResponse(json.dumps(data, ensure_ascii=False))

3、 类视图

类视图: 结构清晰

更强的复用性


需要继承View: from django.views import View

from django.views import View
from django.http import JsonResponse
​
​
class Index(View):
    
    def get(self, request):
        # 获取数据时使用get方法
        return JsonResponse({'msg': 'OK', 'code': 200})
    
    def post(self, request):
        # 添加数据使用post
        pass
from django.urls import path
from . import views
​
urlpatterns = [
    path('index/', views.Index.as_view())
]

二、今日内容

1、静态路由

urlpatterns属性

urlpatterns是路由文件中的一个全局变量,用来存放路由及视图函数的映射关系

用户发起的请求

URL

都会首先进入主控制目录下的这个

urls.py

文件中进行查找匹配

  1. 首先找到

    urls.py

    下的

    urlpatterns

    全局变量,这是一个路由规则实例的列表数据。

  2. 按照先后定义顺序,进行路由匹配。

  3. 找到第一个匹配项时停止匹配,执行匹配到的视图函数。

  4. 遍历完全,未发现匹配,

    django

    进行异常处理

其中

urlpatterns

中的每一个路由映射规则可以由

path



re_path

进行构造



注意



Django

的路由不考虑

HTTP

请求方式,仅根据URL进行路由;即,只要

URL

相同,无论

POST



GET

等哪种请求方式都指向同一个操作函数

path方法

path(str, view, kwargs=None, name=None)
'''
str:一个匹配对应url地址的规则字符串
view:路由对应的视图函数,并且会自动封装HttpRequest作为第一个参数给这个视图函
kwargs:视图函数的关键字参数
name:该路由的全局命名,可以让我们方便的在django项目中任意部分显示的使用,相当于为url取变量名,接下来全局使用该命名值即可;当对应url路由改变之后,结合路由反向解析使用的地方不需要更改路由
'''

re_path

re_path(regex, view, kwargs=None, name=None)
'''
regex:一个匹配对应url地址的规则字符串
view:路由对应的视图函数,并且会自动封装HttpRequest作为第一个参数给这个视图函
kwargs:视图函数的关键字参数
name:该路由的全局命名,可以让我们方便的在django项目中任意部分显示的使用,相当于为url取变量名,接下来全局使用该命名值即可;当对应url路由改变之后,结合路由反向解析使用的地方不需要更改路由
'''

案例

新闻 分类


1、新建django项目

使用pycharm创建项目

file—newProject

使用命令创建项目

django-admin startproject projectname


2、 新建app

python manage.py startapp app01


3、 配置settings.py,在settings.py中配置app,切换语言和时



版权声明:本文为weixin_57047479原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。