python - 密码更改所需的 Django 2.0 测试登录失败并出现语法错误
问题描述
我正在完成来自 Vitor Freitas的教程https://simpleisbetterthancomplex.com/series/beginners-guide/1.11/ 。
我正在使用 Django 2.0.7 来完成这项任务。我知道本教程是为 1.11 编写的,并且我一直在解决在此过程中出现的任何挑战。目前,由于此错误,我遇到了一项无法运行的测试的问题
====================================================================== ERROR: accounts.tests.test_view_password_change
(unittest.loader._FailedTest) ------------------------------------------- --------------------------- ImportError:导入测试模块失败:accounts.tests.test_view_password_change Traceback(最近一次调用):文件“ /usr/lib/python3.5/unittest/loader.py”,第 428 行,在 _find_test_path 模块 = self._get_module_from_name(name) 文件“/usr/lib/python3.5/unittest/loader.py”,第 369 行,在 _get_module_from_name 导入(名称)文件“/home/lance/dev/proj/accounts/tests/test_view_password_change.py”,第 44 行 self.assertRedirects(response, f'{login_url}?next={url}')
测试代码是这样的问题
class PasswordChangeTests(TestCase):
def setUp(self):
username = 'john'
password = 'secret123'
user = User.objects.create_user(username=username, email='john@doe.com', password=password)
url = reverse('password_change')
self.client.login(username=username, password=password)
self.response = self.client.get(url)
class LoginRequiredPasswordChangeTests(TestCase):
def test_redirection(self):
url = reverse('password_change')
login_url = reverse('login')
response = self.client.get(url)
self.assertRedirects(response, f'{login_url}?next={url}')
无效的语法似乎来自最后一行
self.assertRedirects(response, f'{login_url}?next={url}')
有人可以帮我解释为什么这是无效的吗?据我了解,测试正在寻找单引号中列出的模式,并且我已经测试过它在那里。
我不明白为什么单引号不正确。
解决方案
自从F string literals
实施Python 3.6
以来。因此,请确保您使用的是Python 3.6+
.
您也可以使用str.format()
方法,
self.assertRedirects(response, '{}?next={}'.format(login_url, url))
推荐阅读
- linux - Tor 浏览器,签名验证失败。无法检查签名:没有公钥
- python-3.x - 通过某种类型的聚合简化我在 python 中的函数调用
- html - 如何将文本的宽度与动态大小的图像/标题的宽度相匹配?
- javascript - 对 ASP.NET MVC 控制器的 JQuery JSON POST 请求未达到终点,但手动使用路由可以正常工作
- elasticsearch - 用于日志时差的 Elasticsearch Elapse 插件
- google-cloud-platform - 如何通过控制台获取 Google Bucket 的访问日志?
- java - 如何在有问题的窗口中添加图像?
- java - RestTemplate XML 在具有属性的空标记上反序列化 null
- java-native-interface - Centos : java.lang.UnsatisfiedLinkError: com.slytechs.library.NativeLibrary.dlopen(Ljava/lang/String;)J
- javascript - 如何使此打印按钮循环遍历所有 iframe 而不仅仅是一个?