可能重复:
Django: How to access URL regex parameters inside a middleware class?
我在google appengine中使用django。我的应用中的每个网址都有以下格式的公司代码:
http://localhost:8080/[company]/blah/blah
我想要做的是预处理url并获取[company],将appengine datastore命名空间设置为公司代码。这可以通过使用命名的url模式来完成,该模式将公司代码作为kwargs参数传递给每个视图函数。这似乎太多了,只是在开始时设置命名空间。此外,在我的任何观点中,我都不需要这个公司的参数。
是否可以从url param设置名称空间,但是避免将公司参数传递给我项目的每个视图?
答案 0 :(得分:1)
您不需要在视图函数定义中实际包含kwarg,因此您可以忽略它。
url(r'^(?P<company>[-\w]+)/$','app.views.foo_view', name="foo_view"),
和
def foo_view(request):
pass
或者在kwargs中使用process_request
中间件和pop
公司,以便它不会传递给任何视图。