Django基础知识整理

Django基础知识整理

  一.基础路由与命名空间

      基础路由:在子app中添加urls.py文件,

       path中分别对应:子app中的路径,子app对应的视图函数,子app对应的别名

      命名空间:在主路由的urls.py文件中添加

      namespace='名称'

注意:在include中,前面一定要加上括号并写上对应app的命名,不然会报错

二.正则路由映射参数的传递与接收

       1.导入:from django.urls import re_path

       2.re_path的使用:在子的urls.py中使用正则表达式

         re_path('(\d+)',views.re_hander,name='re'),

      3.在视图层中定义views.re_hander视图

    def re_hander(request,num):

        return HttpResponse(num)

      4.正则表达式的基本使用

          

表达式 说明
. 出\n和\r的所有字符
\d 数字
\D 非数字
\w 数字字母和下划线
\W 非数字字母和下划线
\s 空格(包括字表符和换页符)
   
* 出现的次数>=0
+ 出现的次数
{n} 出现n次
{n,m} m>=出现次数>=n
^ 以开头
$ 以结尾

三.反向解析处理器

        原理:从处理器反向解析得到它的url地址

        实例:

        

from django.shortcuts import render,HttpResponse
from django.shortcuts import reverse

# Create your views here.

def index_hander(request):
    return HttpResponse('user index')


def re_hander(request,num):
    return HttpResponse(num)


def user_hander(request,username):
    return HttpResponse('你好:'+username)

def reverse_hander(request):
    print(reverse('user:index'))
    print(reverse('user:re',args=(1234,)))
    return HttpResponse('reverse')

输出结果:

这里返回的就是反向解析的url地址

四.Request对象与Response对象

     1.Request对象:封装客户端发送请求的对象

      主要属性:

关键字 说明
method 返回请求的方式(Get/Post)
path 返回页面的路径(不包括域名)
META

封装请求头的数据

(字典类型,key大写,下划线连接)

REMOTE_ADDR 客户端的IP地址
CONTENT_TYPE 请求正文的MIME类型
- text/html HTML
- text/plain 普通文本
- application/json Json
GET
封装GET请求数据的QueryDict对象
POST
封装POST请求数据的QueryDict对象
FILES
封装上传的文件
COOKIES
封装请求的cookies,类似字典的对象
session
可以读写的类似字典的对象

2.Response对象:服务端响应客户端的对象

    

return HttpResponse(
    content='响应体',
    content_type='MIME类型',
    status=状态码

)

3.JsonResponse对象

它与Python的主要区别是:

    在Python中,如果为空值则用None表示,Json则用Null表示,

    在Python中,布尔值True和False,Json中,布尔值true,false

def json_handler(request):
    return JsonResponse(
    {"edu":"CSDN",
     "course":"Python"},
)

  注意:1.JsonResponse只接收字典

             2.当字典中出现中文,需要加入json_dumps_params={"ensure_ascii":False}

发布了10 篇原创文章 · 获赞 0 · 访问量 104

猜你喜欢

转载自blog.csdn.net/taochaocaj/article/details/103780168