Python Django:应用程序根目录后面的点url?
我正在阅读Django的教程(),我正在添加视图和URL 在这个演示应用程序中,他们为投票添加子视图,例如,Python Django:应用程序根目录后面的点url?,python,django,django-urls,Python,Django,Django Urls,我正在阅读Django的教程(),我正在添加视图和URL 在这个演示应用程序中,他们为投票添加子视图,例如,/polls/34/,以进入第34次投票。引用教程中的内容: 当有人从您的网站请求页面时,例如,“/polls/34/”,Django将加载mysite.urlPython模块,因为它由ROOT\u URLCONF设置指向。它查找名为urlpatterns的变量,并按顺序遍历正则表达式。在“^polls/”中找到匹配项后,它将删除匹配文本(“polls/”),并将剩余文本-“34/”)发送
/polls/34/
,以进入第34次投票。引用教程中的内容:
当有人从您的网站请求页面时,例如,“/polls/34/
”,Django将加载mysite.url
Python模块,因为它由ROOT\u URLCONF
设置指向。它查找名为urlpatterns的变量,并按顺序遍历正则表达式。在“^polls/”
中找到匹配项后,它将删除匹配文本(“polls/
”),并将剩余文本-“34/
”)发送到“polls.url”URLconf进行进一步处理。在那里,它匹配r'^(?P[0-9]+)/$”
,从而调用detail()
视图,如下所示:
我的问题如下:
假设你有一个与你的应用程序相关的视图,但是url(以应用程序名称开头)没有新视图本身那么有意义。如何使视图(应用程序的一部分)从新路径名开始
这可能会让人困惑,所以这里有一个例子
假设您有一个应用程序(decks),供decks用户使用一组卡片制作。然后/deck/regex会将您带到给定的deck。如果有人想在牌组中查看有关某张牌的更多信息,那么/decks/cards/regex就没有什么意义了,因为一张牌可以在多个牌组中
这不是一个完美的例子,但我认为它突出了我正在努力做的事情。你所说的很容易做到,但没有做到,因为它会导致很多关于路由的混乱 谈谈你的例子。假设您在一个名为decks的应用程序中,根URL.py文件如下:
from django.conf.urls import url,include
from django.contrib import admin
from Decks import views as deckviews
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'/cards/regex^$',deckviews.get_card_information),
url(r'^decks/',include('deckviews.urls')),
]
Decks应用程序中的URL.py可以是:
from django.conf.urls import url,include
import views
urlpatterns = [
url(r'^regex/',views.generate_decks)
]
下面是一个生成卡片组的示例,decks/regex从decks应用程序的url.py中调用generate random deck,同时您可以获得所需的卡片/regex,该卡片/regex指向decks应用程序中的视图,但仍然具有您想要的url
通过这种方式,您可以将任何url路由到任何函数,这就是django的优点。但这很少被使用,因为当应用程序变得更大、更复杂时,它会造成很多混乱
希望这有帮助。干杯 你所说的很容易做到,但却没有做到,因为这会在路由方面造成很多混乱 谈谈你的例子。假设您在一个名为decks的应用程序中,根URL.py文件如下:
from django.conf.urls import url,include
from django.contrib import admin
from Decks import views as deckviews
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'/cards/regex^$',deckviews.get_card_information),
url(r'^decks/',include('deckviews.urls')),
]
Decks应用程序中的URL.py可以是:
from django.conf.urls import url,include
import views
urlpatterns = [
url(r'^regex/',views.generate_decks)
]
下面是一个生成卡片组的示例,decks/regex从decks应用程序的url.py中调用generate random deck,同时您可以获得所需的卡片/regex,该卡片/regex指向decks应用程序中的视图,但仍然具有您想要的url
通过这种方式,您可以将任何url路由到任何函数,这就是django的优点。但这很少被使用,因为当应用程序变得更大、更复杂时,它会造成很多混乱
希望这有帮助。干杯 我为你准备了一些URL: 第一: 这个大写字母现在是您的代码:
# So you can change is to:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('table.urls',namespace="table")),
]
然后:在tables.urls.py中,您可以随心所欲:
urlpatterns = [ url(r'^$', views.index, name='index'),
url(r'^decks/(?P<pk>.*)$', views.decksView, name='decksView'),
url(r'^card/(?P<pk>.*)$', views.cardView, name='cardView'),
]
urlpatterns=[url(r'^$',views.index,name='index'),
url(r“^decks/(?P.*)$”,views.decksView,name='decksView'),
url(r'^card/(?P.*)$,views.cardwiew,name='cardwiew'),
]
我为您准备了一些URL:
第一:
这个大写字母现在是您的代码:
# So you can change is to:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('table.urls',namespace="table")),
]
然后:在tables.urls.py中,您可以随心所欲:
urlpatterns = [ url(r'^$', views.index, name='index'),
url(r'^decks/(?P<pk>.*)$', views.decksView, name='decksView'),
url(r'^card/(?P<pk>.*)$', views.cardView, name='cardView'),
]
urlpatterns=[url(r'^$',views.index,name='index'),
url(r“^decks/(?P.*)$”,views.decksView,name='decksView'),
url(r'^card/(?P.*)$,views.cardwiew,name='cardwiew'),
]
您可以自由选择如何构造端点。该结构可以是平面结构或嵌套结构,也可以是智能结构或非智能结构,URL上允许使用接近和字符,不带或带多个参数。它应该正好适合您的项目。您可以自由地构造端点。该结构可以是平面结构或嵌套结构,也可以是智能结构或非智能结构,URL上允许使用接近和字符,不带或带多个参数。它应该正好适合你的项目。