首页 > 解决方案 > 如何确保 Django 更新 html 以反映更改?

问题描述

预期结果:

我希望看到我何时从 to<p>B<p/>编辑主页、在编辑器中保存更改并刷新浏览器。<p>A<p/><p>B<p/>

实际结果:

当我从to<p>A<p/>编辑我的主页,在编辑器中保存更改并刷新浏览器时,我看到了。<p>A<p/><p>B<p/>

一周前我得到了“预期结果”,但几天前我注意到我得到了“实际结果”中解释的结果。现在只有当我通过运行 docker-compose up restart 重新启动服务器时,我才会得到预期的结果。

为什么当我刷新浏览器时没有更新简单的 HTML 更改?我正在使用 Django 3.1 和 Python 3.7。

编辑:

码头工人文件:

# Pull base image
FROM python:3.7-slim

# Set environment varibles
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Set work directory
WORKDIR /projects

# Install dependencies
COPY Pipfile Pipfile.lock /projects/
RUN pip install pipenv && pipenv install --system

# Copy project
COPY . /projects/

码头工人-compose.yml

version: "3.7"
services:
  web:
    build: .
    command: python /projects/manage.py runserver 0.0.0.0:8000
    # command: gunicorn guyanaNPPM_project.wsgi -b 0.0.0.0:8000
    environment:
    
      - "DJANGO_SECRET_KEY=hidden for security reasons"
      - "DJANGO_DEBUG=True"
      - "DJANGO_SECURE_BROWSER_XSS_FILTER=True"
      - "DJANGO_SECURE_SSL_REDIRECT=False"
      - "DJANGO_SECURE_HSTS_SECONDS=0"
      - "DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS=False"
      - "DJANGO_SECURE_HSTS_PRELOAD=False"
      - "DJANGO_SESSION_COOKIE_SECURE=False"
      - "DJANGO_CSRF_COOKIE_SECURE=False"
    
    volumes:
      - .:/projects
    ports:
      - 8000:8000
    depends_on:
      - db
  db:
    image: postgres:11
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    environment: 
      - "POSTGRES_HOST_AUTH_METHOD=trust"

volumes:
  postgres_data:

标签: pythondjango

解决方案


docker-compose stop ; docker-compose rm -f ; docker-compose pull在使用docker-compose启动 django 项目之前尝试一下。

如果此建议有效,那么您可能会在重新启动 django 项目时忘记更新 docker 映像,或者您的本地源无法与正在运行的 docker 容器实例中的代码库同步。


推荐阅读