首页 > 其他分享 >django系列-路由系统

django系列-路由系统

时间:2023-05-15 19:34:49浏览次数:43  
标签:系列 views py django urls import path 路由

一、传统路由(path)

# urls.py
from django.contrib import admin
from django.urls import path
from apps.web import views

urlpatterns = [
    path('home/', views.home),
    path('news/<int:nid>/edit/', views.news),
    path('article/', views.article),
]
int,整数
str,字符串   /
slug,字母+数字+下滑线+-
uuid,uuid格式
path,路径,可以包含 /

对应视图函数

# views.py
from django.shortcuts import render, HttpResponse


def home(request):
    return HttpResponse("成功")


def news(request, nid):
    print(nid)
    page = request.GET.get("page")
    return HttpResponse("新闻")


def article(request):
    nid = request.GET.get("nid")
    print(nid)
    return HttpResponse("文章")

 

二、正则表达式路由(re_path)

# urls.py
from django.contrib import admin
from django.urls import path, re_path  
from apps.web import views

urlpatterns = [
    re_path(r'users/(?P<xxid>\w+-\d+)/(?P<yid>\d+)/', views.users),
]

对应视图函数

# views.py
from django.shortcuts import render, HttpResponse


def users(request, xxid, yid):
    return HttpResponse("成功")

 

三、路由分发(include或手动分发)

文件结构

projectA #项目
  -apps  #apps
    -user #app
      -views.py
      -urls.py
    -manager #app
      -views.py
      -urls.py
  -projectA #项目文件
    -settings.py
    -urls.py

urls.py 总url文件

from django.urls import path, include
from app1 import views


urlpattrens = {
  path("admin/", views.admin), #无分发
  path("user/", include("apps.app1.urls")), #分发到apps/app/urls文件
}

apps/app/urls.py  各app的url

from django.urls import path
from apps.user import views


urlpatterns = {
  # 实际路由 /user/index
  path("index/", views.index),
}
未完待续

标签:系列,views,py,django,urls,import,path,路由
From: https://www.cnblogs.com/coderRocky/p/17394254.html

相关文章

  • django系列-起源&MTV设计模式
    一、django起源Django是一个开放源代码的Web应用框架,使用Python语言编写完成。由于Python语言是跨平台的,所以,不论操作系统是Windows、Linux还是macOSX,都可以开发Django应用。Web框架是一套组件,提供通用的设计模式,能够最大程度地降低开发Web站点的难度。Django的设计目标就是使开......
  • 4、clickhouse的Log系列表引擎、外部集成表引擎和其他特殊的表引擎介绍及使用
    文章目录ClickHouse系列文章一、Log系列表引擎1、应用场景2、Log系列表引擎的特点1)、共性特点2)、区别3、TinyLog表引擎使用4、StripLog表引擎使用5、Log表引擎使用二、外部集成表引擎1、HDFS使用方式2、MySQL使用方式3、JDBC使用方式4、Kafka使用方式三、其他特殊的表引擎1、Memor......
  • < Python全景系列-2 > Python数据类型大盘点
    <Python全景系列-2>Python数据类型大盘点欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。Py......
  • Django文件上传
    form-data格式发送form-data格式上传文件数据,文件对象存储在类字典对象request.FILES中#print(request.POST.get('xxx'))#xxx#print(request.POST.get('yyy'))#yyy#print(request.FILES)#<MultiValueDict:{'file':[<InMemoryUploadedFile:640.......
  • 数字蜕变,传统制造业的转折之“机”| 触想智能推出全新C系列扫码款安卓工位机
    信息技术时代,传统制造业的未来在于数字工厂。数字工厂的核心是数据采集与动态监管,抛开大数据、云计算、物联网这些庞大后台概念不谈,承载这一核心要务的现场工具就是产线工位机设备。基于以上关键需求,触想智能早在2019年就已上市适用于制造业数字化转型的生产力工具......
  • Python工具箱系列(三十二)
    ElasticsearchElasticsearch是一个基于Lucene的搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful的API接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是非常流行的企业级搜索引擎。官方支持的客户端语言包括Java、.NET(C#)、PHP、P......
  • Prometheus系列---【zookeeper-exporter的安装】
    zookeeper-exporter的安装1.下载地址链接:2.上传到服务器指定目录cd/home/appusermkdirmonitor3.执行修改权限chmod+x/home/appuser/monitor/zookeeper_exporter4.启动zookeeper_exporternohup/home/appuser/monitor/zookeeper_exporter-bind-addr=:1887>/dev/n......
  • Gnome设置工作区系列按键跟i3一样脚本
    zsh执行gsettingssetorg.gnome.shell.extensions.dash-to-dockhot-keysfalsedconfwrite/org/gnome/shell/extensions/dash-to-panel/hot-keysfalsedconfwrite/org/gnome/shell/extensions/dash-to-panel/hotkey-prefix-text"''"foriin$(se......
  • 第十三篇——通达信指标公式绘图函数简介——自定义指标颜色、线型等(从零起步编写通达
    内容提要:本文简单介绍了通达信指标公式绘图函数的三种类型——画线函数、标记函数、修饰函数。 在之前的8篇文章中,介绍了通达信指标公式编写常用的18个函数。开始讲的几个函数比较简单,到后面一些函数理解起来都比较困难,更别说使用了,大家在看文章的时候可能也是云里雾里。学......
  • Python3网络爬虫浓缩系列
    本文参考与Jack-Cui 的python3网络爬虫入门系列 领悟:python的灵活性远远超过了我的想象我们没有必要写一样的代码,但是我们可以学习不同的思路!!!!Python3网络爬虫(一):利用urllib进行简单的网页抓取#-*-coding:UTF-8-*-fromurllibimportrequestimportchardetif__name__......