статические файлы не найдены в django 1.11 - PullRequest
0 голосов
/ 24 ноября 2018

Я получаю "Не найдено" при доступе к любой странице на локальном хосте.Я прочитал все связанные посты, но все еще не могу понять, почему.

Я включил 'django.contrib.staticfiles' в INSTALLED_APPS.

У меня есть DEBUG = TRUE в моих settings.py

myМакет и код проекта:

Заранее спасибо.

repo_root
├── manage.py
│   
├── project_root
│   │
│   ├── accounts
│   │   ├── migrations
│   │   ├── __init__.py
│   │   ├── admin.py
│   │   ├── apps.py
│   │   ├── models.py
│   │   ├── tests.py
│   │   ├── views.py
│   │   └── urls.py
│   │
│   ├── templates
│   │   └── index.html   
│   │
│   └── static
│       └── assets
│           ├── bootstrap
│           ├── css
│           ├── fonts
│           ├── img
│           └── js
│   
├── config_root
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
│  

settings.py

STATIC_URL = '/static/'

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

STATIC_ROOT = os.path.join(
    BASE_DIR,
    'project_root/staticfiles')

index.html

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
    <title>index</title>
    <meta name="description" content="sample_content">
    <link rel="stylesheet" href="'static/assets/bootstrap/css/bootstrap.min.css'">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat:400,400i,700,700i,600,600i">
    <link rel="stylesheet" href="'static/assets/fonts/simple-line-icons.min.css'">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.10.0/baguetteBox.min.css">
    <link rel="stylesheet" href="'static/assets/css/smoothproducts.css'">
</head>

urls.py

url(r'^index/$', IndexView.as_view())

views.py

class IndexView(TemplateView):
    template_name = "index.html"

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

У меня не было,

{% load static %}

и

href="{% static 'assets/bootstrap/css/bootstrap.min.css' %}"

добавление этих решило проблему.

Спасибо!

0 голосов
/ 24 ноября 2018

Ваш STATICFILES_DIRS не определен правильно.Ваш BASE_DIR, скорее всего, определен как ваша папка project_root, поскольку это настройка Django по умолчанию.Вы должны опустить project_root в своем определении.

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

Вы также должны включить статические URL-адреса файлов в ваши urlpatterns.

Для получения дополнительной информации проверьте Django docs https://docs.djangoproject.com/en/2.1/howto/static-files/

...