【问题标题】:How to restrict one url to only one view in django urls如何将一个 url 限制为 django urls 中的一个视图
【发布时间】:2014-03-28 18:32:51
【问题描述】:

我在 urls 中遇到问题。我的项目名称是 Stock,我的应用程序名称是 Stock_app,

股票 urls.py:

urlpatterns = patterns('',
  url(r'^goc/', include('stock_app.urls')),
  url(r'^goc_range/', include('stock_app.urls')),
)

在我的 stock_app urls.py 中

urlpatterns = patterns('stock_app.views',

   url(r'^(\w+)/(\d+)/$', 'goc'),
   url(r'^(\w+)/(\d+)/(\d+)/$', 'goc_range'),
)

我遇到了一个问题,每当用户访问 goc/ 和 goc_range/ 时,两者都可以访问 stock_app.urls 中的两个网址,

我的意思是 goc/ 用于 goc 函数,goc_range/ 用于 goc_range 函数。

我想像以下访问一样

goc/ --> 只使用 url(r'^(\w+)/(\d+)/$', 'goc'), goc_range/ --> 只获取 url(r'^(\w+)/(\d+)/$', 'goc_range'),

每当用户给出 goc/name/date 时,他必须只访问 url(r'^(\w+)/(\d+)/$', 'goc'), 还有 goc_range/name/date/date 他必须只去 url(r'^(\w+)/(\d+)/$', 'goc_range'),

帮帮我

【问题讨论】:

  • goc_range 模式置于goc 模式之上。

标签: python r url python-2.7 django-1.4


【解决方案1】:

您的网址格式不正确,请更改 Stock urls.py 中的格式:

urlpatterns = patterns('',
  url(r'^', include('stock_app.urls')),
)

和 stock_app urls.py

urlpatterns = patterns('stock_app.views',
   url(r'^goc/(\w+)/(\d+)/$', 'goc'),
   url(r'^goc_range/(\w+)/(\d+)/(\d+)/$', 'goc_range'),
)

基本上主模式文件包含来自第二个文件的模式,因此它们只需要一次。

【讨论】:

  • 谢谢!蒂姆,它奏效了。我想太多忘记了这一点。
猜你喜欢
  • 1970-01-01
  • 2011-11-17
  • 1970-01-01
  • 1970-01-01
  • 2021-12-15
  • 2016-11-02
  • 1970-01-01
  • 1970-01-01
  • 2018-07-21
相关资源
最近更新 更多