你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
莫问
赞同来自:
reverse//
{% url %}
urls.py
from django.conf.urls.defaults import * from django.conf import settings from django.contrib import admin admin.autodiscover// urlpatterns = patterns/'', url/r'^$', 'main.views.main', name='main'/, url/r'^login$', 'django.contrib.auth.views.login', name="login"/, url/r'^logout$', 'django.contrib.auth.views.logout', {"next_page": "/"}, name="logout"/, # Admin url/r'^admin/doc/', include/'django.contrib.admindocs.urls'//, url/r'^admin/', include/admin.site.urls//, / # Auto-add the applications. for app in settings.LOCAL_APPS: urlpatterns += patterns/'', url/r'^{0}/'.format/app/, include/app + '.urls', namespace=app//, /
settings.LOCAL_APPS
INSTALLED_APPS
hosts
hosts/urls.py
from django.conf.urls.defaults import * urlpatterns = patterns/'hosts.views', url/r'^$', 'show_hosts', name='list'/, /
views.py
reverse/"hosts:list"/
hosts.views.show_hosts
"/hosts/"
{% url "hosts:list" %}
hosts_
{% url "login" %}
裸奔
url/r'^login/',include/'app_name', name='login'//
url/r'^api-auth/', include/'rest_framework.urls', namespace='rest_framework'//
urlpatterns = [ url/r'^login/$', login, login_kwargs, name='login'/, url/r'^logout/$', logout, name='logout'/, ]
@register.simple_tag def optional_docs_login/request/: """ Include a login snippet if REST framework's login view is in the URLconf. """ try: login_url = reverse/'rest_framework:login'/ except NoReverseMatch: return 'log in'
reverse/'namespace:url_name'/
三叔
def process_response/self, request, response/: try: if resolve/request.path/.namespace == 'special_namespace': response['Custom-Header'] = 'Custom-Value' return response except Resolver404: return response
要回复问题请先登录或注册
3 个回复
莫问
赞同来自:
Django 以及模板的功能
从返回错误 URL, 因为模板的名称 URL 不小心在另一个应用程序中恰当地吻合。
我在项目级文件中拥有的内容
在下之中:
注意最后一节:它通过我安装的应用程序 /
- 这是我添加的参数,其中仅包含我的应用程序; 它被添加到K.
, 这有其他事情,如南方/, 寻找
在他们每个人中导入这些 URLs 在命名空间中称为纪念应用程序,也涉及这些 URLs 在一个主题中 URL, 以纪念申请命名。
因此,例如,如果我有一个名为的应用程序
, 和
看起来像:
现在我的
可能会导致
, 获得 URL 在原因的页面上
, 它看起来像是这样的
. 这同样适用于
在模板中。 所以我不需要担心碰撞 URL 由名称 "list" 在另一个应用程序中,我不需要阻止每个名称
.
请注意,入口页面已开启
, 因为她没有命名空间。
裸奔
赞同来自:
例如,认为您使用第三方应用程序 Django-RestFramework.
使用该应用程序时,必须在文件中声明以下字符串 URLs conf 项目。
现在,如果你检查代码 rest-framework, 您将在文件中找到以下代码。 urls.py
我们使用了一个名字 'login' 对于模式 URL 在我们的项目中,使用相同的名称 Django-rest-framework 他们的一个模式 URL. 当你使用时 reverse /'login'/, Django 使困惑。
要解决此类问题,我们使用命名空间。
URL 其他名称空间将永远不会遇到命名空间名称。
模板 URL 命名空间可以逆转
三叔
赞同来自: