簡體   English   中英

404 未找到靜態文件 - Django

[英]404 Static file not found - Django

我有 Django 的問題。 我最近買了一個共享服務器的實例,我想將我的 django 網站從 AWS 移動到這個服務器(使用 Cpanel)。 在 AWS 上一切正常,但是當我切換到 Cpanel 時,所有靜態文件都丟失了。

這是我的settings.py:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = "/media/"

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

我的項目結構:

my_project
|-app/
    |-...
    |-views.py
|-db.sqlite3
|-manage.py
|-media/
|-my_project/
    |-...
    |-settings.py
|-static/
    |-main_page/
        |-js/
            |-my-script.js

我添加這樣的靜態文件:

{% load static %}
<script src="{% static 'main_page/js/my-script.js' %}"></script>

這是錯誤:

GET http://my.domain.com/static/main_page/js/my-script.js net::ERR_ABORTED 404 (Not Found)

當我轉到文件的 URL 時,它會像我的 URL 之一一樣理解它:

404錯誤截圖

我希望你能幫助我解決這個問題 ;) 謝謝。

您需要在 urls.py 中添加靜態和媒體文件配置,如下所示

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] 
urlpatterns  +=  static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

django 文檔: https : //docs.djangoproject.com/en/3.1/howto/static-files/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM