Django URL传递参数方式总结 (django2.0)
- 新建一个Django项目,默认的urls.py文件内容。
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
]
开启服务之后,访问网页 http://127.0.0.1:8005/admin 会直接进入admin
管理页面。主要就是连接中的admin
,遍历匹配urls.py
中的urlpatterns
列表元素。找到对应的视图函数。 今天主要总结下通过URL
传递参数几种方式。
1. 无参数情况
配置URL及其视图如下

http://127.0.0.1:8005/cmsapp/getBooks 会显示书列表
2. 传递一个参数
配置URL及其视图如下,URL中通过正则指定一个参数,在django2.0之后,需要用re_path函数才适合正则匹配。

http://127.0.0.1:8005/cmsapp/hoursAhead/99/
3. 传递多个参数
同理,以传递两个参数,以正则匹配指定两个参数。传递多个参数,依次用正则匹配指定即可。当然这个方式URL不太很好辨识。

http://127.0.0.1:8005/cmsapp/homePage1/p112p2D/

http://127.0.0.1:8005/cmsapp/homePage3/98/A/
4. 通过传统的"?"传统参数
通过http://127.0.0.1:8005/cmsapp/homePage2/?p1=12&p2=A URL中的”?” 之后表示传递参数,这里传递了p1和p2两个参数。最后在匹配的视图函数中,通过request.GET.get()方式获取参数。这种传参方式容易识别。

网友评论