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个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值