Django не загружается css файл - PullRequest
0 голосов
/ 26 марта 2020

Я пытался найти много сообщений об этой проблеме, и ни одно из них не смогло решить мою проблему, к сожалению, и я не мог понять некоторые моменты. Это сообщение. Django не может найти файлы c. Нужна вторая пара глаз, я схожу с ума Я думаю, это самый похожий случай со мной, и кто-то дал очень хороший ответ на него, но он не смог решить мою проблему: /

Это мой набор файлов

- beerlog  
 - beerlog
     - settings.py
     - ...
 - posting
     - urls.py
     - templates
         - posting
             - base.html
             - index.html
             - post.html
             - posting.html
     - static
         - posting
             - style.css
         - ...
 - static
     - registration
         - ...

settings.py


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

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

/ публикация / шаблоны / публикация / база. html


<!DOCTYPE html>
{% load static %}
<html class="no-js">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>Beerlog</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="/posting/sytle.css">
        {% block extra_head %}{% endblock %}
    </head>
    <body>
        <h2 class='headline'>Welcome to beerlog!</h2>
        <ul class="sidenav">
            {% if user.is_authenticated %}
            <li>Welcome back {{ user.get_username }}!</li>
            <li><a href="{% url 'logout' %}?next={{request.path}}">Logout</a></li>
            {% else %}
            <li><a href="{% url 'login' %}?next={{request.path}}">Login</a></li>
            {% endif %}
        </ul>
        {% block content %}
        {% endblock %}

/ публикация / urls.py

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

from . import views


app_name = 'posting'
urlpatterns = [
    path('', views.index, name='index'),
    path('<int:post_id>', views.post, name='post'),
    path('posting', views.posting, name='postingform'),
    path('base', views.base, name='base')
]

/ beerlog / urls.py


from django.contrib import admin
from django.urls import path, include
from django.contrib.staticfiles.urls import static, staticfiles_urlpatterns

from . import settings

urlpatterns = [
    path('posting/', include('posting.urls')),
    path('admin/', admin.site.urls),
]

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

urlpatterns += [
    path('accounts/', include('django.contrib.auth.urls')),
]

Я установил stati c файл, такой же, как django официальные документы, такие как шаблоны, шаблоны работают хорошо, но почему css не делает Работа? Пожалуйста, помогите мне, ребята :( Отчаянные

1 Ответ

0 голосов
/ 26 марта 2020

Добавить posting папку в STATICFILES_DIRS в качестве дополнительной (в STATIC_ ROOT) папку для сбора стати c файлов из:

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

В DEBUG = true этого достаточно, чтобы достичь эти файлы. Перед переходом на DEBUG = false запустите collectstatic, а файлы и папки из posting/static будут скопированы в STATIC_ ROOT (вы можете попробовать это прямо сейчас).

Затем обратитесь к вашим файлам stati c из шаблон с тегом static:

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

Если все еще не работает - возьмите URL-адрес из обработанного шаблона и попробуйте открыть его вручную, затем проверьте статус ответа.

Также убедитесь, что вы ' мы добавили шаблоны URL, упомянутые здесь , чтобы Django обслуживал stati c файлы в DEBUG = true. Обратите внимание, что Django не будет обслуживать stati c файлов в DEBUG = false.

...