django的url分配

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

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

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

    这个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即可看到视图函数返回的页面

  • path的完整规则:    path(route, view, kwargs=None, name=None)
  • route:是一个路由规则
  • view是视图函数名
  • kwargs额外参数,是一个字典
  • name是url规则的名字

django在url中捕获参数

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

  • 到app下的view模块中新建个带有参数的视图函数

     from django.shortcuts import render, HttpResponse
    
     # Create your views here.
    def test(request):
    return HttpResponse("HELLO WORLD") def index(request, pk):
    return HttpResponse("你输入的参数是:%s" % pk)
  • 再到app下的urls.py中为这个函数配置路由,用<>包裹视图函数中的参数
     from django.urls import path
    from .views import * app_name = 'crm' urlpatterns = [
    path('test.html/', test),
    path('index/<pk>/', index)
    ]

    注意每条路由都由"/"结尾

  • 最后启动服务,在浏览器中输入:127.0.0.1:1234/index/8, 返回想应得页面

  • 注意:路由中的参数必须和视图函数中的一致

  路径转换器

  当我们想约束参数的类型的时,可以使用路径转换器

  常见的路径转换器:

  • int:必须为整数
  • str:匹配除了"/"路径分割符之外的所有的字符串
  • slug:匹配任意ASCII字符+连字符和下划线
  • uuid:格式化uuid
  • path:匹配任意非空字符

  转换器用法:

path('index/<int:pk>/', index)

  注意:转换器(int)和参数中的冒号之间不能有空格

django的url分配和url捕获参数的更多相关文章

  1. Django(一):url路由配置和模板渲染

    urls.py路由用法 url基本概念 url格式 urls.py的作用 url解析过程 include的作用 kwarg的作用 name的作用 URL概念 URL(Uniform Resoure L ...

  2. 2.Django|简介与静态文件| URL控制器

    1.简介  MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负责业务对象与数 ...

  3. Django url配置 正则表达式详解 分组命名匹配 命名URL 别名 和URL反向解析 命名空间模式

    Django基础二之URL路由系统 本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11版本 ...

  4. django 中的路由系统(url)

    路由系统 根据Django约定,一个WSGI应用里最核心的部件有两个:路由表和视图.Django框架 的核心功能就是路由:根据HTTP请求中的URL,查找路由表,将HTTP请求分发到 不同的视图去处理 ...

  5. Django框架详解之url

    Django基本命令 下载Django pip3 install django 创建一个django project django-admin.py startproject cms 当前目录下会生成 ...

  6. Django的路由系统:URL

    一. URLconf配置 基本格式 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图,参数,别名), ] 参数说明 ...

  7. Django基础之二(URL路由)

    URL路由 简介 对于高质量的web应用来说,使用简洁,优雅的URL路由是一个值得尊重的细节,Django可以随心所欲的设计URL,不受框架的约束 为了给一个应用设计URL,你需要一个Python模块 ...

  8. Django 学习 之路由层(URL)

    路由层(URL) 1.路由层简单配置 (1)path方法 写固定的url. (2)re_path方法 可以正则规则 例: urlpatterns = [ path('admin/', admin.si ...

  9. Django之web框架和url路由

    一.web框架 1.什么是web框架 Web框架是用来进行Web应用开发的一个软件架构,开发者在基于Web框架实现自己的业务逻辑.Web应用本质上就是一个socket服务端,而用户的浏览器就是一个so ...

随机推荐

  1. 延时显示(类QQ头像显示)

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  2. 总结5条对学习Linux系统有帮助的经验心得

    作为国产手机中的代表厂商,OPPO一直走在国内的前沿.不仅手机出货量在国内遥遥领先,而且在国外也抢占不少的市场份额.前段时间,OPPO在台湾地区签下田馥甄和林宥嘉担任OPPO R9s的代言人外,在东南 ...

  3. Java冒泡排序与选择排序

    Java排序: 一.冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. ...

  4. Java 算法 概念汇总

    编程面试的10大算法概念汇总   以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java ...

  5. μC/OS-II在Microblaze上的移植与使用专题--“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛参赛作品

    reference:http://xilinx.eetrend.com/d6-xilinx/blog/2010-05/682.html   随着集成电路设计与制造技术的发展,FPGA芯片的容量越来越大 ...

  6. 几种序列化与get、set方法的关系

    若get开头且第四个字母是大写的方法中有空指针异常时(无论有没有对应属性) 1.阿里巴巴的FastJson会出现空指针异常,证明与get开头的方法有关 2.Google的Gson不会出现异常,因为只和 ...

  7. 从今天开始 每天记录HTML,CSS 部分的学习笔记

    从今天开始 每天记录HTML,CSS 部分的学习笔记

  8. Java NIO:浅析I/O模型(转)

    原文链接:http://www.cnblogs.com/dolphin0520/p/3916526.html 以下是本文的目录大纲: 一.什么是同步?什么是异步? 二.什么是阻塞?什么是非阻塞? 三. ...

  9. kubenetes pv(nfs) pvc 搭建

    1:nfs-server的搭建. install the NFS Server: sudo apt install nfs-kernel-server 2:配置server. vim /etc/exp ...

  10. Oracle非归档模式下脱机数据文件

    正常情况下,要想对数据文件脱机,必须在归档模式下,这是ORACLE自动保护的一种措施,防止在非归档模式下对数据文件脱机,造成数据丢失.如果想在非归档模式下执行数据文件脱机操作,则需要加上“for dr ...