在Django中,我检查需要登录的页面的登录状态和权限。但是,我现在只在get
内部视图的情况下检查它们,因为可以尝试访问您不允许访问的页面。
例如,假设我只有登录用户的部分,例如/user_account/
。如果有人手动输入网址,我当然要检查他是否已登录。我会在get
部分内执行此检查。
但是如果在user_account
上还有一个表单,那么它将落入视图的post
部分。我还需要检查用户是否已登录?
也就是说,当我在第一时间阻止你get
时,是否有可能以某种方式意外地发布到该页面?
希望这个问题很明确。
答案 0 :(得分:0)
不确定 - 编写测试并查看是否失败:
from django.test import TestCase
class LoginPostTestCase(TestCase):
def test_unauthorized_post(self):
data = {} # TODO: fill the data
response = self.client.post('/user_account/', data)
# TODO: assert you've been redirected to the login url
def test_authorized_post(self):
self.client.login(username='<username>', password='<password>')
data = {} # TODO: fill the data
response = self.client.post('/user_account/', data)
# TODO: assert not being redirected