自动URL namspace resolution

django-namespaced的Python项目详细描述


django支持帮助应用程序发现其当前 名称空间,并以稳定的方式引用它们自己,即使有更多 URL模式中同一模块的多个实例。

但是,django不会自动设置current_app上下文 这意味着应用程序将实际解析带名称空间的url 最后一次宣布的例子。

这个上下文处理器将细节挖掘出来。

用法

需要将上下文处理器添加到模板配置中。这个 粗鲁的做法如下:

TEMPLATES[0]['OPTIONS']['context_processors'].append(
    'namespaced.context_processors.namespaced')

为此使用上下文处理器有点可疑,而且通常 中间件将是编辑请求的正确位置。然而中间商 在URL解析未匹配的阶段执行,并将 遍历所有url,即使它们不会被使用。这段代码主要是 不管怎样,在观点上是相关的。

这使您能够将同一应用程序的两个独立实例放在两个中 不同的网址。通常django总是通过 app name,它将破坏之前任何一个 实例。假设我们在应用程序中有这个功能:

{% url 'myapp:index' %}

为了使这两个实例都能工作,urls.py应该看起来像 像这样:

urlpatterns = [
    url(r'^first/', include('myapp.urls', namespace='first', app_name='myapp')),
    url(r'^last/', include('myapp.urls', namespace='last', app_name='myapp)),
]

这些应用程序可以用myapp:引用它们自己,用优先引用彼此:最后:。在其余部分中使用显式名称很可能是有意义的 项目的一部分。

目前,没有测试使用无名称空间。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jetty是否有请求缓存?   数组中的java 2值与我的数据帧中的2列对应   对象序列化期间的java DbUtils类型转换问题   java根面板中不显示所有单独的面板   java通过代理或SSH隧道连接Hbase API   java困惑:与经典MVC控制器相比,JSF2中bean的角色   java在我的Triangle类中“找不到符号错误”   java在Android中设置从路径到自定义按钮的图像   java不绕轨道旋转椭圆   AES在socket上搞砸了序列化/反序列化。无效的流标头。JAVA   java在数组中搜索term和if语句   线程“main”java中出现异常。util。正则表达式。PatternSyntaxException:在索引0附近悬挂元字符“*”*   Websphere上的java Google反射无法打开url连接   java为什么inc/dec频道什么都不做?   java KeyListener无法访问keyPressed方法