【Django】Django路由urls详解

例 :

urlpatterns = patterns(”,

url(r’^hello/$’,hello),

)

我们在写URL时实际上写的是正则表达式,尖号(^)和美元符号($),都是正则表达式符号,分别表示字符串的开头和结尾。如上面添加的(‘^hello/$’)表示只有以hello/开头和结尾的url才可以调用hello函数。

传参 方式一:?形式的参数

通过request.GET.get(参数名)方法接受参数,路由设置为path(‘index’,调用函数名[不带括号])

app/views.py文件中代码如下:

视图函数

def index(request):

    name = request.GET.get('name', '')

    age = request.GET.get('age', '10')

    print(name, age)

    return HttpResponse('hello aqin~')

app/urls.py代码如下:

from django.urls import path

from .views import index

    urlpatterns = [

        path('index', index),

    ]

在浏览器中输入http://localhost:8000/index?name=aqin&age=88传递参数name和age

【Django】Django路由urls详解

PyCharm中的控制台应得到如下输出:

【Django】Django路由urls详解

方式二:分隔符形式的参数
通过def(request,参数名,参数名)接收参数,路由设置为path(‘index/

app/views.py文件中代码如下:

视图函数

def index(request, name, age):

    # name = request.GET.get('name', '')

    # age = request.GET.get('age', '10')

    print(name, age)

    return HttpResponse('hello aqin~')

app/urls.py代码如下:

from django.urls import path

from .views import index

urlpatterns = [

    # path('index', index),

    path('index//', index),

]

index/

  • str 字符串类型(匹配任何非空非斜杠)
  • int 整型(匹配任何自然数)

在浏览器中输入http://localhost:8000/index/aqin/88

【Django】Django路由urls详解

Original: https://blog.csdn.net/miffy2017may/article/details/126911560
Author: miffy888
Title: 【Django】Django路由urls详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/735108/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球