| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> Python知识库 -> 初学Django:第三天,请求和响应 -> 正文阅读 |
|
|
[Python知识库]初学Django:第三天,请求和响应 |
|
一、修改dj11项目下的urls.py, path后面第一个参数默认可以为空'',这样访问的时候就不需要加上books/路径,原:path('books/', include('books.urls'))
代码如下: from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
# path后面第一个参数默认可以为空'',这样访问的时候就不需要加上books/路径,原:path('books/', include('books.urls'))
path('', include('books.urls'))
]
二、re_path用法 例如我要查询某某城市某一天的天气, http://127.0.0.1:8000/weather/cs/20211128 城市/日期 re_path(r'^weather/(?P<city>[a-z]+)/(?P<year>\d{8})/$')
详细代码如下:books/urls.py from django.urls import path,re_path
from .import views
app_name = 'books'
urlpatterns = [
# 第一个参数: 路由名 第二个参数: 匹配 的视图函数,
# name= 是给子路由进行命名 的 (起别名)
path('index/',views.index,name='index'),
# re_path和path的区别 路由的匹配不一样 re_path 有个^开始 $ 结束
# http://127.0.0.1:8000/weather/cs/20211128 城市日期
re_path(r'^weather/(?P<city>[a-z]+)/(?P<year>\d{8})/$',views.weather,name='weather'),
]
? books/views.py from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
# 定义一个视图函数
def index(request):
return HttpResponse ('你好,DJANGO! !!!!')
def weather(request,city,year): # 请求
print(city)
print(year)
return HttpResponse('查询xx城市天气')
?打开浏览器http://127.0.0.1:8000/weather/cs/20211129/运行效果如下:
? 城市的英文字符匹配:(?P<city>[a-z]+) 日期的匹配:(?P<year>\d{8}) 三、通过请求获取参数 网页中“?”后面携带的参数如何获取到:http://127.0.0.1:8000/qs/?a=100&b=234 3.1添加路由,urls.py文件下,代码如下: path('qs/',views.querys,name='querys'),
?3.2定义querys的函数接收 views.py代码如下: def querys(request):
print(request)
# get获取数据,getlist获取多个数据
a = request.GET.get("a")
b = request.GET.get("b")
print(a)
print(b)
return HttpResponse("获取请求的参数")
?四、POST表单参数的获取 views.py代码如下: # 获取表单数据
def query(request):
name = request.POST.get("name")
print(name)
pwd = request.POST.get("pwd")
print(pwd)
return HttpResponse("获取表单数据")
? urls.py添加路由代码如下: path('bd/',views.query,name='query'),
?利用Postman模拟浏览器发送表单数据:
?注意需要将:setting.py文件下的改行 'django.middleware.csrf.CsrfViewMiddleware',注释,否则会报403错误。
?通过Postman模拟浏览器发送表单数据,在pycharm下返回表单数据
?五、非表单Json数据的获取 http://127.0.0.1:8000/js/通过构造json数据利用Postman模拟浏览器发送json数据
?views.py代码如下: # 非表单json数据的获取
def get_body_json(request):
#获取json数据
json_bytes = request.body
print(json_bytes)
# 转换为字符串类型数据
import json
json_str = json_bytes.decode()
print(json_str)
# 再转换为字典格式数据
josn_dict = json.loads(json_str, encoding='utf-8')
print(josn_dict)
return HttpResponse("获取json数据成功")
?urls.py文件代码如下: path('js/',views.get_body_json),
?最终pycharm运行结果如下:
? |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年10日历 | -2025/10/25 0:58:50- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |