django: как поместить статический файл в корневой каталог?

#django

#django

Вопрос:

Я подключаюсь к веб-сайту SNS, и веб-сайт требует, чтобы я поместил файл в корневой каталог домена, напримерhttp://www.a.com/test.txt и он автоматически извлечет его, чтобы подтвердить, что я являюсь владельцем домена.

Я использую django, и все статические файлы находятся подhttp://www.a.com/static /, как я могу записать URL-адрес файла, чтобы указать файл test.txt чтобы, когда робот веб-сайта SNS извлекает URLhttp://www.a.com/test.txt он правильно извлечет файл, который я загрузил?

Спасибо.

Ответ №1:

Если вы используете apache, настройте псевдоним в httpd.conf apache:

 #Alias /test.txt /filesystem/path/to/test.txt
  

Комментарии:

1. Убедитесь, что вы включили модуль псевдонимов в httpd.conf: Вверху добавьте: LoadModule alias_module modules/mod_alias.so

Ответ №2:

Нет причин, по которым это должен быть реальный физический файл. Вы могли бы так же легко вернуть любой требуемый магический текст через представление, сопоставленное с соответствующим URL:

 url(r'^test.txt', 'test_view')


def test_view(request):
    return HttpResponse("My magic text here", mimetype='text/plain')
  

Комментарии:

1. Причиной может быть нежелание загружать полный стек приложений для чего-то такого простого.

2. @webjunkie Вы не загружаете «полный стек приложения» для каждого запроса в Django. Django выполняется как отдельный набор процессов, управляемых и отправляемых WSGI.

Ответ №3:

если вы находитесь в рабочей среде, просто запустите

 python3 manage.py collectstatics
  

он автоматически извлечет статический файл и добавит его по желаемому пути.