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

Willow ·
更新时间:2024-09-20
· 1870 次阅读

目录

Django url path

project :

url.py 路由别名

调用方法:

HTML(template)调用实例

同一app下 name 定义

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别名定义的资料请关注软件开发网其它相关文章!



path 路由 app Django url

需要 登录 后方可回复, 如果你还没有账号请 注册新账号