我正在尝试弄清楚如何在Django中测试文件是否作为URL存在。以下版本的版本会产生故障:
self.assertEqual(response.status_code, 200)
AssertionError: 302 != 200
这里是测试代码。
from django.test import Client
from django.utils import translation
class ExistenceTest(TestCase):
def test_static_css_directory_exists(self):
C = Client()
response = C.get('/static/css/clean-blog.min.css')
self.assertEqual(response.status_code, 200)
感谢您的任何帮助。
编辑:
这是响应对象。不知何故,语言似乎出现了问题。
<HttpResponseRedirect status_code=302, "text/html; charset=utf-8", url="/en/static/css/clean-blog.min.css/">
当我通过runserver
启动服务器时,我能够成功导航至http://localhost:8000/static/css/clean-blog.min.css/
,并在浏览器中查看文件。如果尝试http://localhost:8000/en/static/css/clean-blog.min.css/
,则会收到错误消息(浏览器中为404,但可能是产生302的原因)。
确保将静态文件附加到url文件中的urlpatterns中,如下所示:
from django.conf.urls.static import static
...
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
运行测试前,请访问您的URL('/static/css/clean-blog.min.css')并检查其是否可以访问?
希望此解决方案对您有所帮助