Изменение в представлении django не отражается на странице до перезапуска uwsgi

Я установил Django + Uwsgi + Nginx. Проект запущен. Но когда я изменяю что-то в представлении, изменения не отражаются на странице, пока я не перезапущу uwsgi. Нужно ли перезапускать uwsgi каждый раз, когда я вношу изменения в представление? Но когда я добавляю время в представление для отображения на странице. Отображаемое время меняется каждый раз, когда я обновляю страницу.

Мое мнение таково:

from django.shortcuts import render
from django.http import HttpResponse   # added
from django.utils import timezone
def home(request):
    return HttpResponse('This is the home page. 101' + str(timezone.now()))

Мой urls.py :

from django.contrib import admin
from django.urls import path
from godentiapp import views    # added 

urlpatterns = [
    path('', views.home, name='home'),    # added
    path('admin/', admin.site.urls),  
]

Должен ли [я] перезапускать uwsgi каждый раз, когда [я] вношу изменения в представление?

Да, каждый раз, когда вы изменяете исходный код, вам необходимо перезапустить веб-сервер, поскольку файлы всегда загружаются один раз. Интерпретатор Python прочитает исходный файл и загрузит его в память. Изменения в файле не будут отражены.

Если вы работаете с Django в режиме разработки, для модификации файла sourcde он будет автоматически перезапускать сервер [Django-doc]:

Сервер разработки автоматически перезагружает код Python для каждого запроса, по мере необходимости. Вам не нужно перезапускать сервер, чтобы изменения кода вступили в силу. Однако некоторые действия, например, добавление файлов, не вызывают перезагрузки, поэтому в таких случаях вам придется перезапустить сервер.

Но это не делается в производстве, и не должно делаться, поскольку это может привести к рискам безопасности.

Вернуться на верх