>source

앱 폴더에 정적 폴더를 만든 django 앱을 개발 중입니다. 정적 파일과 관련된 문제가 발생했습니다. 문제는 내가 runserver 명령으로 앱을 실행하는 동안 django는 정적 파일을 수집하지만 가끔 정적 파일에서 무언가를 변경하면 파일이 업데이트되고 때로는 업데이트되지 않고 대신 저장하더라도 해당 파일의 이전 버전을 수집한다는 것입니다. 파일을 열고 runserver 명령으로 앱을 다시 실행하십시오. 정적 파일 (css 및 js 파일 모두)의 이름을 바꾸고 새 이름에 따라 index.html을 변경하면 앱이 잠시 동안 업데이트 된 파일 이름으로 완전히 잘 작동하고이 문제에 계속해서 직면합니다. 파일 이름을 바꾸는 데 지 쳤고이 문제에 대한 적절한 해결책이 없습니다. 여러분의 의견과 도움에 감사드립니다.

내 앱의 폴더는 다음과 같습니다.

├───.vscode
├───Project
    └───manage.py    
    └───Project
        └───__pycache__/
        └───__init__.py
        └───asgi.py
        └───setting.py
        └───urls.py
        └───wsgi.py
    ├───templates
    │   └───base.html
    └───AppName
        └───templates
            └───index.html 
        └───static
            └───AppName
                └───js
                    └───indexjs.js //--> This file gets loaded with updated version and sometimes not
                └───css
                    └───style.css  //--> This file gets loaded with updated version and sometimes not
        └───views.py
        └───models.py
        └───urls.py
              .
              .
              .
              .
  

settings.py의 정적 파일 설정

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'AppName/static')]

내 index.html 파일의 정적 파일 설정은 다음과 같습니다.

{% extends 'base.html '%}
{% load static %}
{% block content-style-1 %}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="{% static 'AppName/js/jquery-3.5.1.min.js' %}"></script>
<link rel="stylesheet" href="{% static 'AppName/css/style.css' %}">
<script src="{% static 'AppName/js/indexjs.js' %}"></script>
{% endblock %}
{% block content-1 %}
<div class="main">
    <p>To do App Django-1</p>
</div>
<div class="main-container-1"> 
        <input type="text" id="textbox-1" name="name" width="50px">
        <button type="button" id ="btn-2" class="btn btn-primary">Create</button>
</div>
<div class="card mb-1" id="task-card-id">
    <div class="card-body"><p>Card Content</p><button type="button" id="btn-3" class="close">
        <span aria-hidden="true">&times;</span>
      </button>
    </div>
</div>
{% endblock %}


  • 답변 # 1

    특히 Chrome의 경우 변경 사항을 확인하기 위해 브라우저를 하드 새로 고침해야하는 경우가 있습니다. 쿠키도 삭제하여 문제가 중지되는지 확인하십시오. 내가하는 일은 직접적인 비교를 위해 다른 브라우저에서 같은 페이지를 여는 것입니다.

    길게 누르면 새로 고침 할 수 있습니다. ctrl 다시로드 아이콘을 클릭합니다.

  • 답변 # 2

    때로는 CSS가 캐시에 저장되기 때문에 업데이트되지 않습니다. CSS를 편집 할 때 다음을 수행하여 캐시를 지우십시오 (Google 크롬을 사용하는 경우).

    오른쪽 상단에서 더보기를 클릭합니다.

    추가 도구를 클릭합니다. 인터넷 사용 정보 삭제.

    '쿠키 및 기타 사이트 데이터'및 '캐시 된 이미지 및 파일'옆의 체크 박스를 선택합니다.

    데이터 지우기를 클릭합니다.

  • 답변 # 3

    "파일이 업데이트 됨"이란 무엇을 의미합니까? 브라우저에서 변경 효과를 볼 수 있다는 뜻입니까? 그렇다면 Firefox에서도 동일한 문제가 있습니다. 개발 서버 (runserver)와는 관련이 없지만 Firefox는 안정적인 방식으로 CSS 파일을 다시로드하지 않습니다. 다시 시작할 때도. 다른 브라우저에서는 그런 문제가 없었습니다. 애드온으로 캐시를 비울 수 있습니다. Firefox에서 Shift + reload (또는 Ctrl?)를 사용하여 강제 다시로드에 대해 읽었지만 제 경우에는 항상 작동하지 않았습니다.

  • 이전 flutter - 새 값이 화면에 표시되지 않는 이유는 무엇입니까?
  • 다음 sql - 각 직원이 가장 많은 상품을 판매 한 카테고리를 확인하는 방법은 무엇입니까? 사원의 이름과 판매 된 상품 만 표시 할 수 있습니다