Django测试文件作为URL的存在性

问题描述 投票:0回答:1

我正在尝试弄清楚如何在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的原因)。

django testing tdd
1个回答
0
投票

确保将静态文件附加到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')并检查其是否可以访问?

希望此解决方案对您有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.