django: изменение шаблонов URL применяется только после перезапуска Eclipse - PullRequest
0 голосов
/ 04 августа 2011

Если я что-то изменю в своем исходном коде Python моего веб-приложения django, оно будет применено, как только я сохраню изменения.Я могу проверить это прямо локально в моем браузере.Однако, когда я изменяю шаблоны URL в моем urls.py, мне, очевидно, приходится перезапускать затмение, пока эти изменения не будут применены?Что тут происходит?

Обновление

Я использую Eclipse Helios на Windows 7, 64-битной и Python 2.7.1

Обновление 2

Извините, но я должен исправить себя: не применяются никакие изменения в исходном коде, не только изменения в urlpatterns.Только изменения к файлам-шаблонам применяются сразу.

Поэтому я создал новый поток: Django: Как перезапустить веб-сервер, чтобы применить изменения в исходном коде

Извините!

Ответы [ 2 ]

0 голосов
/ 05 августа 2011

Я не использую eclipse, поэтому я не уверен, должно ли оно автоматически обновляться, но на моем сервере, если я изменил настройки или URL-адреса, я должен остановить / запустить сервер, если я изменю любой другой.Пи-файл мне просто нужно перезагрузить, и шаблоны мгновенно обновляются.Я всегда просто соглашался с тем, что так должно быть, чтобы код перекомпилировался и обновился.

Попробуйте написать несколько сценариев так, чтобы это было так же просто, как вызов ./stop ./start ./restart

FYI, я использую чисто терминальную среду и Nginx & Gunicorn для обслуживания

update: waitВы имеете в виду, что вы должны полностью перезапустить затмение?или только серверная часть?Если первый вариант, я чувствую себя очень не по теме.

0 голосов
/ 05 августа 2011

Перезапуск сервера примет изменения, похоже, либо сервер перезагружается неправильно, либо, возможно, существует проблема с кэшированием в браузере.(Попробуйте очистить кеш, посмотрите, поможет ли это).Если вы используете сервер django в качестве конфигурации запуска в eclipse, вы должны увидеть входящие запросы.

Как выглядят изменения в вашем urls.py?У вас есть какое-либо промежуточное программное обеспечение, которое обрабатывает входящие URL-адреса первыми?

Возможно, в вашем запросе есть что-то, что не поднимается.При тестировании я иногда распечатываю запросы по мере их поступления до того, как они обрабатываются urls.py, чтобы увидеть, что они содержат.Вы можете создать модуль промежуточного программного обеспечения, например:

myproject.middleware.logrequest - (расположение / имя файла модуля):

from django.conf import settings
from django.core.urlresolvers import reverse
from logging import getLogger

log = getLogger('my.log')

class LogRequestMiddleware(object):
    def process_request(self, request):
        parameters = []
        for key, value in request.REQUEST.items():
            parameters.append('{0}:{1}'.format(key,value))
        log.debug('REQUEST: {0}'.format(', '.join(parameters)))

Затем в настройках добавьте егов MIDDLEWARE_CLASSES вверху (я поместил его просто под «django.middleware.common.CommonMiddleware») - в этом случае имя будет: «myproject.middleware.logrequest.LogRequestMiddleware»

Я использую входв этом случае, но печать должна работать так же хорошо.

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