Django Проверка наличия файла как URL - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь выяснить, как проверить наличие файлов в виде URL-адресов в Django. Версия ниже версии выдает ошибку:

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).

1 Ответ

1 голос
/ 19 апреля 2020

Убедитесь, что вы добавили файл stati c в urlpatterns в файле url, как показано ниже:

from django.conf.urls.static import static
...

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

в конце setting.py, добавьте следующие строки:

STATIC_URL = '/static/'

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')

перед запуском теста просмотрите ваш URL ('/static/css/clean-blog.min.css') и проверьте, что (доступно или нет)

Надеюсь, это решение будет полезным для тебя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...