广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Django url.py path name同一app下路由别名定义
  • 631
分享到

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

2024-04-02 19:04:59 631人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录Django url pathproject :url.py 路由别名调用方法:html(template)调用实例同一app下 name 定义DjanGo url path D

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 定义

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

路由别名定义:

重复定义

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

参考官方文档 URL调度器

以上就是Django url.py path name同一app下路由别名定义的详细内容,更多关于Django url.py path别名定义的资料请关注编程网其它相关文章!

--结束END--

本文标题: Django url.py path name同一app下路由别名定义

本文链接: https://www.lsjlt.com/news/119677.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作