2015-01-02 2 views
0

Я настроил приложение django на webfaction, и он работает нормально. Я хотел знать, как обслуживать мои статические и мультимедийные файлы на apache. Django имеет сервер разработки, который обслуживает эти файлы. Я изначально настроил apache в своей локальной среде и добавил много строк сценария для обслуживания статических и медиафайлов через apache.Django и apache

Однако, делая то же самое в webfaction, как и в документах webfaction, мне не нужно было многого, и это заставило меня думать, что может быть больше шагов, необходимых для обслуживания этих файлов через apache.

Поэтому я хотел подтвердить, являются ли мои статические и мультимедийные файлы запущенными из apache или нет? Я боюсь, что это и так, потому что я еще не настроил apache для работы с этими файлами, поскольку в среде разработки django служит для статических и медиафайлов, которые обслуживаются самим django.

+1

Для работы с файлами Webfaction использует отдельный статический сервер. –

+0

, так что вы имеете в виду, что мне не нужно ничего делать, пока я создаю другое статическое и мультимедийное приложение? Я должен буду запускать статический стат для того же – Uma

+0

. Я фактически создал 2 статических приложения для webfaction и назначил их как статические и медиа-каталоги и URL-адреса соответственно. Я предполагаю, что это означает, что эти 2 папки будут обслуживаться другим сервером. Это верно? Я запустил сборщик, чтобы перенести все файлы в статическую папку. – Uma

ответ

3

Типичное развертывание Django на WebFaction включает по крайней мере два экземпляра приложения:

  • Django приложение экземпляр для версии Django вы работаете
  • символическая ссылка на статические только для приложений, например

Символическая ссылка на приложение, основанное только на статике, ожидает, что вы укажете абсолютный путь для источника символической ссылки. Это должно указывать на каталог, указанный STATIC_ROOT.

Учитывая структуру проекта:

/my-project/ 
    /my-project/ 
     settings.py 
     ... 

    /static_assets/ (used for local development. Not typically deployed.) 
    /static/ (used for production) 

Это выразится в структуру каталогов в WebFaction как:

/home/ 
    /your-account-name/ 
     /webapps/ 
      /your-django-app-name/ 
       /apache2 
       /bin 
       /your-django-app-name (synonymous with "my-project" above) 
        /static/ (this is what your 'static' symlink path) 
       /lib 
        /pythonx.y (modules go here. Django lives here) 

При создании экземпляра «Сайт», вы зададите ваш Django приложение экземпляр для запуска на / и экземпляр приложения Symbolic link по пути, указанному STATIC_URL, обычно /static.

Вы должны работать с DEBUG = False в WebFaction, что, в свою очередь, приводит к django.contrib.staticfilesне служить любые файлы, которые находятся в STATICFILES_DIRS.

Надеюсь, что это поможет вам.

+0

Значит, это означает, что никаких изменений в Apache не требуется, а экземпляр приложения только для статического поиска работает на другом сервере? Я новичок, поэтому просто хочу убедиться :). – Uma

+1

Ваш статический экземпляр приложения и экземпляр Django находятся на одном сервере. – Brandon

+0

ОК, так мне нужно изменить файлы conf conf, чтобы сообщить ему, чтобы они обслуживали эти файлы? – Uma