В Django файл css не загружается - PullRequest
0 голосов
/ 24 апреля 2019

Пожалуйста, скажите мне, почему статический файл не может быть прочитан.
Я могу прочитать файл изображения, но не могу прочитать файл css и js.
Я вижу похожие вопросы в других местах, но я не могу их решить, поэтомуЯ спрашиваю.

#settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'bootstrap4',
    'myapp.apps.MyappConfig',
]

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

Моя структура каталогов.

Projects
-assets
    —css
        —style.css
    —image
    —js
        —style.js
-media
-projects
    —__init__.py
    —settings.py
    —urls.py
    —wigs.py
-myapp
    —migrations
    —__init__.py
    —admin.py
    —apps.py
    —models.py
    —tests.py
    —views.py

base.html

#html
<!DOCTYPE html>
{% load static %}
{% load bootstrap4 %}
{% bootstrap_css %}
{% bootstrap_javascript jquery='slim' %}

<html lang="ja">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link href="https://fonts.googleapis.com/earlyaccess/sawarabigothic.css" rel="stylesheet" >

    <link href="{% static 'css/style.css' %}" rel="stylesheet">
    <title>Myapp</title>
    {% include "navi.html" %}
</head>
<body>
  {% block content %}{% endblock %}
  </div>
  <script src="{% static 'js/style.js' %}"></script>
</body>
</html>

Хотя это не здесь, файл изображения может быть загружен.

<div class="text-center" style="background-image: url({% static 'image/back-image.jpg' %});">

addimage: enter image description here

Ответы [ 3 ]

0 голосов
/ 24 апреля 2019

Если вы используете сервер разработки (т. Е. './Manage.py runserver'), то вам нужно включить следующее в urls.py

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Если вы работаете в производственном режиме, убедитесь, чтовы запустили ./manage.py collectstatic

И в settings.py убедитесь, что вы указали STATIC_ROOT

STATIC_ROOT = os.path.join(BASE_DIR, 'static')
0 голосов
/ 24 апреля 2019

Добавьте приведенный ниже код в ваш файл settings.py

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

После этого добавьте приведенный ниже код в ваш основной проект urls.py

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

Надеюсь, это решит вашу проблему.

0 голосов
/ 24 апреля 2019

Используйте этот код, вы должны ссылку css с "./static/css/style.css"

#html
<!DOCTYPE html>
{% load static %}
{% load bootstrap4 %}
{% bootstrap_css %}
{% bootstrap_javascript jquery='slim' %}

<html lang="ja">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link href="https://fonts.googleapis.com/earlyaccess/sawarabigothic.css" rel="stylesheet" >

    <link href="./static/css/style.css" rel="stylesheet">
    <title>Myapp</title>
    {% include "navi.html" %}
</head>
<body>
  {% block content %}{% endblock %}
  </div>
  <script src="{% static 'js/style.js' %}"></script>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...