Django URL传递参数方式总结

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及其视图如下

image.png

http://127.0.0.1:8005/cmsapp/getBooks 会显示书列表

2. 传递一个参数

配置URL及其视图如下,URL中通过正则指定一个参数,在django2.0之后,需要用re_path函数才适合正则匹配。

image.png

http://127.0.0.1:8005/cmsapp/hoursAhead/99/

3. 传递多个参数

同理,以传递两个参数,以正则匹配指定两个参数。传递多个参数,依次用正则匹配指定即可。当然这个方式URL不太很好辨识。

image.png

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

image.png

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()方式获取参数。这种传参方式容易识别。

image.png

http://127.0.0.1:8005/cmsapp/homePage2/?p1=12&p2=A

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容