创建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’))
同时设置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获取列表
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 ***