自动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运行时异常:com。安卓建设者德兴。DexArchiveMergerException:无法合并dex   java UDP如何获取传入数据报的目标地址   java如何将一些内容保存到列中并将其读回对象   属性类Java   java如何将二进制数据附加到HSQL(2.3.2)blob中?   试图在Maven项目中使用OpenJPA连接到Derby数据库,但出现“java.sql.SQLException”错误。   java(JavaFX)如何将类的实例传递给FXML控制器而不知道该控制器的名称?   sql为什么单线程使我的Java程序更快?   在单独的窗口上显示控制台输出[java]   java在Hadoop集群之外从Eclipse访问HDFS   java在我的类中初始化以下实例的最佳方法是什么?   java类单例或组件。它必须从不同的地方调用   java如何将配置文件自动下载到项目的根目录?