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
Posted in 学习, 软件工程

Leave a Comment:

电子邮件地址不会被公开。