Как настроить Django / Apache для среды разработки дизайнера - PullRequest
6 голосов
/ 06 января 2012

Я уже некоторое время занимаюсь разработкой в ​​своей собственной среде django, используя manage.py runserver без проблем, но теперь, когда у нас есть дизайнер и фронтенд-разработчик, которому нужно работать над проектом, я нахожуЯ в растерянности относительно того, что является лучшей практикой для их сред.

Я мог бы попросить их настроить свою собственную среду Python, но это требует очень много, поскольку они не люди Python, и они работаютWindows (мой разработчик и производственная среда - Linux).

Итак, вместо этого я установил их на удаленном сервере, диск которого они могут монтировать локально.Однако в этой настройке я на самом деле использую разные экземпляры manage.py runserver ip:port, запущенные в экземпляре screen.Он не очень хорошо обрабатывает такие вещи, как постоянные перезагрузки (что характерно для нашего дизайнера), и время от времени зависает из-за однопоточной природы сервера dev.Я хотел бы знать, как настроить это с Apache.

Проблема с этим, конечно, staticfiles.Каждый раз, когда одна из вышеупомянутых сторон хочет добавить или изменить статический файл, им придется запускать manage.py collectstatic, что просто нецелесообразно.Я просто не знаю другого способа сделать это все же.Вся документация, которую я нашел для использования Apache, относится к производственной среде, поэтому ... вот почему я здесь.

Ответы [ 2 ]

0 голосов
/ 12 января 2012

Ответ на этот вопрос был намного проще, чем я думал, и я прошу прощения за то, что запутал тех, кто ответил. По сути, все, что мне нужно, - это способ размещения среды разработки нашего дизайнера в более стабильной среде, чем ./manage.py runserver ip:port в сеансе screen. Я подумал, что должен быть способ настроить что-то подобное для Apache, но понятия не имел, что это такое.

Вот что я получил на работу:

В вашем settings.py установите переменные STATIC_URL и MEDIA_URL равными относительные URL . В моем случае я использовал /static/ и /media/.

MEDIA_ROOT = PROJECT_ROOT + "/htdocs/media/"
MEDIA_URL = "/media/"
SERVE_STATIC = True
STATIC_ROOT = PROJECT_ROOT + "/htdocs/public/"
STATIC_URL = "/static/"

Настройте Apache, как если бы у вас вообще не было статических файлов. Другими словами, игнорируйте рекомендации документов по использованию SetHandler None в блоке <Locaiton>.

<VirtualHost *:80>

    WSGIScriptReloading On
    WSGIDaemonProcess someprocessname
    WSGIProcessGroup somegroupname
    WSGIApplicationGroup somegroupname
    WSGIPassAuthorization On

    WSGIScriptAlias / /path/to/config.wsgi

    ServerName somewhere.awesome.ca

    <Location "/">
        Order Allow,Deny
        Allow from all
    </Location>

    ErrorLog  /var/log/apache2/somewhere.awesome.ca.err
    CustomLog /var/log/apache2/somewhere.awesome.ca.log combined

</VirtualHost>

Надеюсь, это поможет направить кого-то в правильном направлении в будущем.

0 голосов
/ 06 января 2012

Контроль источника? Попросите их проверить изменения, а затем установить хук после фиксации для сбора и перезапуска сервера. С хорошими графическими интерфейсами Windows у меня никогда не было дизайнера, который не мог бы понять основные понятия. Если вы используете dcvs, вы всегда можете иметь их в своем собственном форке, поэтому вам нужно слиться с основными репозиториями, чтобы они по ошибке не сломали другие вещи.

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