Django url.py path name同一app下路由别名定义

作者:刀枪不入de王二花 时间:2023-01-24 23:46:36 

Django url path

Django 路由在 urls.py 配置

path('浏览器地址栏表示URL', '处理方法', '路由别名')

path('app1/screen001/list', screen001_view.list, name='list')

注意:同一app下 name 定义不能重名,若重名,后者会覆盖前者

不同app下可以重名,调用方法:指定app名称 {% url "app名称:路由别名"%}

※Django version 4.0.3

project :

pj
├── app1
│   │   urls.py
│   │   screen001_views.py
│   │   screen002_views.py
│   └── ...

├── app2
│   │   urls.py
│   │   screen003_views.py
│   └── ...
│  
├── pj
│   │   settings.py
│   │   urls.py
│   └── ...
│  
└── templates
   └──app1
   │   │   screen001.html
   │   │   screen002.html
   │   └── ...
   └──app2
       │   screen003.html
       └── ...

url.py 路由别名

pj>url.py
from django.urls import path
from django.conf.urls import include
from .views import example_view
urlpatterns = [
   path('', include('core.urls')),
   path('app1/', include('app1.urls')),
   path('app2/', include('app2.urls')),
]
app1>url.py
from django.urls import path
from .views import screen001_view, screen002_view
# 定义实例命名空间
app_name = 'app1'
urlpatterns = [
   # 画面1
   path('app1/screen001/list', screen001_view.list, name='list'), # 路由别名 list ⇒ s1_list
   path('app1/screen001/search', screen001_view.search, name='search'),
   # 画面2
   path('app1/screen002/list', screen002_view.list, name='list'), # 路由别名 list ⇒ s2_list
]

路由别名【list】,若同一app下重名,调用后者【screen002_view.list】

但可以给同一个函数,定义不同的路由别名,以提供相同的函数给两个不同的群体

app2>url.py
from django.urls import path
from .views import screen003_view
# 定义实例命名空间
app_name = 'app2'
urlpatterns = [
   # 画面3
   path('app2/screen003/list', screen003_view.list, name='list'),# 路由别名 list ⇒ 不同app下可以重名
]

调用方法:

被指定的命名空间 URL 使用':'操作符。

{% url "app名称:路由别名" %}

HTML(template)调用实例

<form action="{% url 'app1:app1_s1_list' %}" method="post">
window.open("{% url 'app1:app1_s1_search' %}?id=" + row['id'], '_blank');
function delete_file(id){
   $.ajax({
       'url': '{% url "app1:app1_s1_list" %}',
       'type': 'POST',
       'data': JSON.stringify({id:id}),
       'contentType': "application/json",
       'dataType': 'json'
   }).done(function (response) {
       console.log("success");
   }).fail(function(jqXHR, textStatus, errorThrown){
       console.log("システムエラー["+textStatus+"]"+errorThrown);
   });

同一app下 name 定义

不能重名,若重名,后者会覆盖前者

路由别名定义:

Django url.py path name同一app下路由别名定义

重复定义

画面表示:log (后者被调用)

Django url.py path name同一app下路由别名定义

参考官方文档 URL调度器

来源:https://cloud.tencent.com/developer/article/2059525

标签:Django,url.py,路由,别名定义
0
投稿

猜你喜欢

  • 在Qt中正确的设置窗体的背景图片的几种方法总结

    2023-05-11 11:15:01
  • Python+OpenCV实战之利用 K-Means 聚类进行色彩量化

    2021-01-02 09:20:27
  • python的numpy模块实现逻辑回归模型

    2022-10-01 07:05:59
  • js表单检测数字

    2007-10-12 13:52:00
  • Javascript fso操作文件

    2008-07-30 12:51:00
  • Javascirpt打造“互动指针”特效

    2013-08-06 07:37:52
  • python re.match函数的具体使用

    2023-07-31 13:16:28
  • python实现烟花小程序

    2022-10-02 09:45:23
  • 原来我一直安装 Python 库的姿势都不对呀

    2021-03-28 10:42:41
  • python subprocess pipe 实时输出日志的操作

    2022-10-07 00:39:51
  • python爬取网页内容转换为PDF文件

    2023-04-29 10:53:12
  • Python使用pandas和xlsxwriter读写xlsx文件的方法示例

    2022-05-14 00:35:25
  • Python3 操作符重载方法示例

    2021-03-18 11:38:03
  • flask结合jinja2使用详解

    2022-07-22 12:18:57
  • python深度学习之多标签分类器及pytorch实现源码

    2022-09-26 01:09:12
  • JS实现css边框样式设置工具

    2008-05-25 16:22:00
  • 浅谈python中的数字类型与处理工具

    2022-02-09 01:07:30
  • Python Pygame实战之塔防游戏的实现

    2021-12-15 08:57:22
  • python代码检查工具pylint 让你的python更规范

    2021-07-03 12:06:38
  • matplotlib 对坐标的控制,加图例注释的操作

    2021-06-12 16:28:46
  • asp之家 网络编程 m.aspxhome.com