it-roy-ru.com

Использование bootstrap и django

Я пытаюсь заставить загрузчик работать в моем проекте Django и следовал учебному руководству здесь , Но это не сработало. Когда я захожу в мой локальный проект в браузере, он просто показывает пустую страницу с 4 синими ссылками. не совсем то, что я ожидал. В pycharm (мой идеал) он говорит мне, что у меня есть неразрешенная ссылка на STATIC_URL в моем шаблоне. Я думаю, что проблема в том, что простого размещения начальной загрузки в моем проекте и определения его в моих настройках было недостаточно. есть идеи?

Извините, в основном вот как настроен мой проект . Main_Project / app_1, app_2, media /, templates /, Main_Project / поэтому я должен поместить boostrap под первым Main_Project или вторым

Также здесь мои настройки на случай, если это имеет значение.

STATIC_ROOT = os.path.join(SITE_ROOT, 'static_files')

# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'
9
user2251164

Кевин здесь, автор этой статьи из Python Diary. С тех пор, как я опубликовал это руководство, я создал другие методы включения Bootstrap в проекте Django, включая удобный шаблон Project, который можно скачать здесь:

http://www.pythondiary.com/templates/bootstrap

Я также запустил проект на BitBucket, в котором есть приложение-тема начальной загрузки Django, которое очень легко использовать, просто добавьте его в свой INSTALLED_APPS и затем расширьте любой шаблон с исходного сайта Bootstrap, такого как starter.html, среди прочего, на Выбери из. Конечно, вы также можете крутить свою собственную тему начальной загрузки. Я стараюсь активно обновлять его и ищу дополнительные предложения, чтобы сделать его «приложением Django goto» для разработчиков, желающих использовать Bootstrap в своем проекте, репозиторий BitBucket можно найти здесь:

https://bitbucket.org/kveroneau/Django-bootstrap-theme

Надеюсь, что это поможет любому, кто может наткнуться на эту страницу Stackoverflow.

15
kveroneau

Файл settings.py проекта (эти строки по умолчанию и не меняют их):

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'

В папке вашего приложения (там же должна быть папка шаблонов с файлом .html):

Создайте папку «static» с подпапками (загрузочными файлами), структура должна выглядеть так:

app folder structure

static folder structure

В вашем html-файле импортируйте загрузочную загрузку следующим образом (обратите внимание, что CSS идет в head , а JS - в body section):

<html>
<head>
    <title> Your title </title> 

    <!-- To prepare Django for loading static files -->
    {%load staticfiles %}

    <!-- And with <link> or <script> tag you actualy import bootstrap files in page -->
    <link href={% static "css/bootstrap.min.css" %} rel="stylesheet">
</head>

<body>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src={% static "js/bootstrap.min.js" %}></script>


<p> Next your page code ............... </p>
<p> Next your page code ............... </p>
<p> Next your page code ............... </p>


</body>

2
FirePower
  1. сначала статический URL-адрес в файле settings.py должен выглядеть следующим образом:

    STATIC_URL = '/ static /'

  2. После вы должны создать папку 3 внутри папки static:

    • iMG
    • cSS
    • jS
  3. Загрузите Bootstrap для правильного размещения внутри каждого файла в указанных выше папках.

  4. Наконец в шаблоне импортируем загрузчик:

    <link rel="stylesheet" type="text/css" href="{{STATIC_URL}}css/bootstrap.min.css"/>
    <link rel="stylesheet" type="text/css" href="{{STATIC_URL}}css/bootstrap-responsive.min.css"/> 
    <script type="text/javascript" src="{{STATIC_URL}}js/bootstrap.min.js"></script>
    
  5. Вы должны поместить файлы за пределы приложения или внутри приложения, чтобы персонализировать каждое приложение статическими файлами. Разница - это URL-адрес статического файла.

    5.1 Вне приложения 

    STATIC_URL = '/ static /'

    5.2 Внутри каждого приложения:

    STATIC_URL = '/ App1/static /'

    STATIC_URL = '/ App2/static /'

  6. И STATIC_ROOT поставить 

    STATIC_ROOT = ''

2
Gianfranco Lemmo

Вот что у меня сработало, я следовал тому, что написано в документе:

https://docs.djangoproject.com/en/1.10/howto/static-files/

INSTALLED_APPS = [
    'Django.contrib.admin',
    'Django.contrib.auth',
    'Django.contrib.contenttypes',
    'Django.contrib.sessions',
    'Django.contrib.messages',
    'Django.contrib.staticfiles',
    'settings'
]

...

STATIC_URL = '/static/'

Статические файлы помещены в project/my_app/static/my_app/css/bootstrap.min.css

Шаблон размещен здесь в project/my_app/templates/my_app/base.html

{% load static %}
<!DOCTYPE html>
<html lang="en">

<head>

    <!-- Bootstrap Core CSS -->
    <link href="{% static "my_app/css/bootstrap.min.css" %}" rel="stylesheet">
0
Luca Giovenzana