Django是一个非常强大的基于Python的Web框架,我们可以用Django处理带参数的url
1、带参数的URL
http请求的带参数的url,URL参数是追加到URL上的一个名称/值对,通常以?符号开始,如果有多个参数,用&符号隔开,案列如下:
http(s)://www.ivdone.top/article/?page=2&p=288
2、Django如何处理带参数的URL
首先在urls.py中添加路由
# coding:utf-8
from django.contrib import admin
from django.urls import path
from django.urls import re_path
from . import view
urlpatterns = [
path('admin/', admin.site.urls),
path('index/', view.index),
re_path('^article/$', view.article), # 添加参数url的路由
]
然后在view.py的视图函数中获取参数url中的参数值
# coding:utf-8
import os
from django.http import HttpResponse
def article(request):
# 判断请求类型,带参数的url请求一般是GET请求
if request.method == "GET" and request.GET:
# 根据参数的键获得参数的值
page = request.GET.get('page', None)
p = request.GET.get('p', None)
if page is None or p is None:
return HttpResponse("can't get the value")
# 返回结果
result = "the page is " + page + " the p is " + p
return HttpResponse(result)
else:
return HttpResponse("error")
运行程序
# 0.0.0.0代表任意ip可以访问,8000为监听端口
python manage.py runserver 0.0.0.0:8000
3、测试
在浏览器中输入:http://ip:8000/article/?p=3&page=2
0