我试图创建Django的web项目,并且有一些用户后端应用程序,其中每个URL(视图)仅用于经过身份验证的用户。
用户/ urls.pyDjango的Url组只为经过身份验证的用户
urlpatterns = patterns('',
url(r'^settings/', 'User.views.user_settings'),
url(r'^profile/', 'User.views.profile'),
#Other User Admin panel Urls
)
用户/ views.py
def user_settings(request):
if request.user is None:
return redirect('/login')
#Some other code
def profile(request):
if request.user is None:
return redirect('/login')
#Some other code
正如可以: 我可以在例如每视图写的条件看到它没有很好的编码,但它工作正常。 我唯一想知道的是,是否可以为urls.py添加一些条件以便在每个视图函数中不添加相同的代码行。
例如Symfony,Laravel和Yii框架就像我想要做的那样。 在Django中可以这样做吗? :)
编辑这里
随着@login_required
我需要添加它为每一个观点,我需要的东西,例如用于所有网址:
在Symfony框架,我可以写 { path: ^/myPage, roles: AUTHENTICATED }
和每一个URL像这个/myPage/someUrl
将被要求认证。
我认为Django的有类似的东西:)
感谢。
谢谢回答。这真的很有用:) –