2

可能重复:
Django:如何访问中间件类中的 URL 正则表达式参数?

我在谷歌应用引擎中使用 django。我的应用程序中的每个 url 都有一个公司代码,格式如下:

http://localhost:8080/[公司]/blah/blah

我想要做的是预处理 url 并获取 [company],将 appengine 数据存储命名空间设置为公司代码。这可以通过使用命名的 url 模式来完成,该模式会将公司代码作为 kwargs 参数传递给每个视图函数。这似乎太多了,不能在一开始就设置一个命名空间。此外,在我的任何观点中,我都不需要这家公司的参数。

是否可以从 url 参数设置命名空间,但避免将公司参数传递给我项目的每个视图?

4

1 回答 1

1

您实际上不需要在视图函数定义中包含 kwarg,因此您可以忽略它。

url(r'^(?P<company>[-\w]+)/$','app.views.foo_view', name="foo_view"),

def foo_view(request):
    pass

或者使用 kwargs 之外的process_request中间件和pop公司,这样它就不会传递给任何视图。

于 2012-08-04T12:34:41.837 回答