【问题标题】:Why do static files won't load in the django web app?为什么静态文件不会加载到 django web 应用程序中?
【发布时间】:2019-10-30 18:24:50
【问题描述】:

所以我在这里看到了很多教程来解释该怎么做,但无论我如何更改静态文件似乎都不会加载。这就是我的文件在 atm 的样子

settings.py

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

job_app/urls.py

urlpatterns = [
    path('', main, name='index'),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>JobPortal - Free Bootstrap 4 Template by Colorlib</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    {% load static %}

    <link href="https://fonts.googleapis.com/css?family=Nunito+Sans:200,300,400,600,700,800,900" rel="stylesheet">

    <link rel="stylesheet" href="{% static 'css/open-iconic-bootstrap.min.css' %}">
    <link rel="stylesheet" href="{% static 'css/animate.css' %}">

    <link rel="stylesheet" href="{% static 'css/owl.carousel.min.css' %}">
    <link rel="stylesheet" href="{% static 'css/owl.theme.default.min.css' %}">
    <link rel="stylesheet" href="{% static 'css/magnific-popup.css' %}">

    <link rel="stylesheet" href="{% static 'css/aos.css' %}">

    <link rel="stylesheet" href="{% static 'css/ionicons.min.css' %}">

    <link rel="stylesheet" href="{% static 'css/bootstrap-datepicker.css' %}">
    <link rel="stylesheet" href="{% static 'css/jquery.timepicker.css' %}">


    <link rel="stylesheet" href="{% static 'css/flaticon.css' %}">
    <link rel="stylesheet" href="{% static 'css/icomoon.css' %}">
    <link rel="stylesheet" href="{% static 'css/style.css' %}">
  </head>
  <body>

jobber/urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('job_app.urls'))
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

【问题讨论】:

  • 您的文件实际上是否在根“静态”文件夹中?如果没有,那么您是否运行了collectstatic 命令?
  • 您的调试设置是什么?无论 DEBUG=True 还是 DEBUG=False,静态文件的行为都不同。

标签: python django static-files


【解决方案1】:

以下配置对我有用。 Django 只需要两件事。

  1. 基本静态 URL (STATIC_URL) 应该是什么
  2. 以及在哪里搜索静态文件 (STATICFILES_DIRS)

从 urls.py 中删除静态 urlpatterns。只需在 settings.py 中定义STATIC_URLSTATICFILES_DIRS 并删除STATIC_ROOT

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-30
    • 2018-02-18
    • 2016-12-05
    • 2021-07-22
    • 1970-01-01
    • 2016-04-19
    • 2017-10-08
    • 2018-06-16
    相关资源
    最近更新 更多