django stati c файлы не работают после миграции - PullRequest
0 голосов
/ 21 января 2020

Мой путь к папке * stati c также правильный, и все работало до миграции. Я не могу понять, в чем здесь проблема Я новичок в django, пожалуйста, помогите мне понять это из

  • index. html
{%load staticfiles%}
<html lang="en" dir="ltr">
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="{% static "css/mycss.css"%}"/>
        <title>My first Django App</title>
    </head>
    <body>
    <h1>{{somthin}}</h1>
    <img src="{% static 'images/zoro.jpg'%}" alt="Oops!No Image">

    </body>
</html>

после python manage.py runserver в терминале я могу видеть, что загружены файлы stati c, что означает этот путь правильный, но они не работают в браузере.
#TERMINAL
python manage.py runserver

/home/sarthak/Desktop/django/first_project  
/home/sarthak/Desktop/django/first_project  
Watching for file changes with StatReloader  
Performing system checks...  

System check identified no issues (0 silenced).  
January 21, 2020 - 09:03:37  
Django version 2.2.5, using settings 'first_project.settings'  
Starting development server at http://127.0.0.1:8000/  
Quit the server with CONTROL-C.  
[21/Jan/2020 09:03:42] "GET / HTTP/1.1" 200 407  
[21/Jan/2020 09:03:42] "GET /static/css/mycss.css HTTP/1.1" 404 1663  
[21/Jan/2020 09:03:42] "GET /static/images/zoro.jpg HTTP/1.1" 404 1669  
**Directory Structure**  


first_project  
|  
+--first_app  
|  |  
|  +--__pycache__  
|  |  
|  +--migrations  
|  |  
|  +--__init__.py  
|  +--admin.py  
|  +--apps.py  
|  +--models.py  
|  +--urls.py  
|  +--views.py  
|  
+--first_project  
|  |  
|  +--__pycache__  
|  |  
|  +--__init__.py  
|  +--db.sqlite3  
|  +--settings.py  
|  +--urls.py  
|  +--wsgi.py  
|  
+--static  
|  |  
|  +--admin  
|  |  
|  +--css  
|  |  |  
|  |  +--mycss.css  
|  |  |  
|  +--images  
|  |  |  
|  |  +--zoro.jpg  
|  |  |  
+--templates  
|  |  
|  +--first_app  
|  |  |  
|  |  +--index.html  
|  |  |  
+--db.sqlite3  
+--manage.py  

1 Ответ

1 голос
/ 21 января 2020

убедитесь, что все эти настройки у вас есть в файле settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

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

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static")

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

и в основном urls.py

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

и используйте тег {% load static %} в шаблонах, также если вы используете двойные кавычки вне фигурных скобок, используйте одинарные кавычки внутри

<link rel="stylesheet" href="{% static 'css/mycss.css' %}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...