django在url中捕获参数

Posted ivy-blogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django在url中捕获参数相关的知识,希望对你有一定的参考价值。

django的url分配

  • 一般视图模块(views.py)都放在自己所属的app目录下,在app目录下新建路径模块(urls.py),由app目录下的urls.py来分配当前app的路径。
  • 在app目录下新建视图函数
    1 from django.shortcuts import render, HttpResponse
    2 
    3 
    4 # Create your views here.
    5 
    6 
    7 def test(request):
    8     return HttpResponse("HELLO WORLD")
  • 然后再到app目录下的urls.py中配置路由
    1 from django.urls import path
    2 from .views import *
    3 
    4 app_name = crm
    5 
    6 urlpatterns = [
    7     path(test.html/, test),
    8 ]

    path方法里面有两个参数,第一个是视图函数的路由,第二个是该路由对应的视图函数的函数名(注意是函数名,不要带括号)

  • app_name是当前app名的字符串,防止在后面的path,repath中出现重复的url名而发生难以进行的区分和管理。
  • 最后带项目跟目录下配置该app的路径,将app目录里的urls.py包裹在项目根目录下的urls.py里
    1 from django.contrib import admin
    2 from django.urls import path, include
    3 
    4 
    5 urlpatterns = [
    6     path(admin/, admin.site.urls),
    7     path(crm/, include(crm.urls)),
    8 ]

    这个path接受两个参数,第一个是需要包含的app的名字,以"/"结尾, include里接受一个字符串("%s.urls" % app_name)

  • 最后启动服务,在manager.py的同级目录下 : python    manager.py    runserver   127.0.0.1:1234  (你能映射的ip地址)。 然后打开浏览器输入:127.0.0.1:1234/crm/test.html即可看到视图函数返回的页面

 

 

django在url中捕获参数

  在urls.py(项目目录下)定义url规则时使用变量名可以捕获url中的值,传递给视图

 一、路径转换器

    案例:<int: pk>

以上是关于django在url中捕获参数的主要内容,如果未能解决你的问题,请参考以下文章

捕获 Django views.py 中的所有 URL 参数?

django额外参数的传递和url命名

Django之URL反向解析

Django- 反向生成url

django-url调度器-中级篇

django中url路由配置及渲染方式