Django实际开发总结_1

创建django项目
django-admin startproject 项目名

创建子项目

python manage.py startapp 项目名

1、settings中配置
INSTALLED_APPS = [
‘项目路径’,
]
2、urls.py中配置
urlpatterns = [
path(’’, include(‘url路径’)),
]
3、子应用创建urls.py写入urlpatterns路径
4、编写views函数

子应用apps文件夹路径写入方式
settings中导入sys模块并写入
sys.path.insert(0, os.path.join(BASE_DIR, ‘apps’))

urls中匹配顺序是至上而下

同时设置str,int类型进行测试。

urlpatterns = [
    path('test1//', views.test1),
    path('test1//', views.test1),
]

1、path数据类型传参:

<name>/ 不指定类型
<str:name>/
<int:name>/
<uuid:name>/
<slug:name>/ # 匹配数字横杠下划线字母组成的字符串,str子集(返回类型str)

2、re_path正则匹配(正则表达式)
re_path(r’urls名称/(?P<参数名称>正则表达式/$’, views.test1),

re_path(r'test2/(?P\d(4))/$', views.test_rs),

获取多个参数(?P<参数>正则)/$

re_path(r'test2/(?P[0-9])/(?P[0-9]{2})/$', views.test_res),

请求响应

GET请求(/?a=1&2)
通过Dbug可以看见request.GET获取了参数返回字典类型
1、dict通过dict.get获取到值——实际案例:获取页码、获取搜索关键字kw

a = request.GET.get('a')

2、通过getlist获取多个a值而不被覆盖成一个(列表)

a = request.GET.getlist('a')

POST请求

django获取post请求携带的浏览器发送的cookie值需要调用middleware进行csrf认证。
1、 取消csrf认证机制

 'django.middleware.csrf.CsrfViewMiddleware',

2、传入的参数都为str,get获取只能是一个value,getlist获取列表

Json数据传输

import json
# json格式数据传输
def jstest(request):
    js = request.body
    print(type(js), js)
# 将json的解码——相反的dumps编码
    na = json.loads(js)
    print(type(na), na)
    a = na.get('name')
    b = na.get('age')
    return JsonResponse({
     a: b})

1、JsonResponse指定输出响应头headers为

Content-Type application/json

***孤舟渡月明
2021年3月9日00:59:38 ***

你可能感兴趣的:(django基础,基础,django,python)