1

和视图之间有什么东西middleware可以插入我的代码,还是我必须继承一些东西Django来提供这个功能?

让我先解释一下为什么我需要这个,也许您可​​以提出更好的解决方案。我想根据一些配置限制我的一些 url。而且,-我希望此配置成为 url 配置的一部分-根据提供的配置,我想重定向等到其他视图。

我所说的“部分 url 配置”的意思类似于以下内容。

url(r'^admin/blah/blah$', do_something, name='admin-blah-blah', {'security_level': 'very_secure', 'auth_method' : 'oauth', 'auth_url', 'http://www.foo.com'})

这似乎是应该由中间件完成的事情,但我不想用中间件来做这件事有两个原因。- 我不想维护单独的配置。- 我不想再对 url 模式进行正则表达式匹配,url resolver 已经在这样做了

因此,如果我能在查看之前找到一种方法来插入一些功能并且可以达到提供的配置,它就解决了我的问题。

4

1 回答 1

4

听起来您可以在视图上使用装饰器来执行此操作:

@restrict_url(security_level='very_secure', auth_method='oauth', 
              auth_url= 'http://www.foo.com')
def my_view(request):
    ... etc ...

您可以restrict_url通过查看django.contrib.auth.decorators.

于 2011-01-14T10:35:11.613 回答