Как использовать относительные пути из готового шаблона index.html и css в приложении Django? - PullRequest
0 голосов
/ 20 декабря 2018

Я использую готовые загрузочные листы index.html и css.В предыдущей структуре папок index.html и все сопутствующие папки, такие как css, js, шрифты, img и т. Д., Были в одной папке.Теперь они в двух местах, как показано ниже.Когда я открываю страницу индекса в качестве приложения с локального веб-сервера разработки Django, он прекрасно загружает индекс, но все относительные ссылки на странице не работают - css, js, img и т. Д. *

IЯ новичок в Джанго.

Предыдущая структура папок начальной загрузки:

      - public_web_site
         - bootstrap_1
             - css
             - fonts
             - img
             - js
             - index.html

Мне бы хотелось, чтобы проект Django был организован следующим образом:

- myproject
  - polls
  - myproject_django
  - public_web_site
     - static
          - public_web_site
             - bootstrap_1
                 - css
                 - fonts
                 - img
                 - js
          - admin
      - templates
          - public_web_site
             - index.html
          - admin           
      - admin.py
      - apps.py
      - models.py
      - urls.py
      - views.py

Это работает:

{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'public_web_site/css/bootstrap.min.css' %}">

Однако это не так:

 <link rel="stylesheet" href="css/bootstrap.min.css">    

Not Found: /pub_boots/css/bootstrap.min.css

Чтобы переформулировать проблему: Есть ли место, где я могу добавить переменную или имя пути, чтобы позволить готовому шаблону функционировать, не требуя от меня редактирования каждого родственника?ссылка для использования путей Django {% static%}?Или есть более простой / лучший способ просто вставить готовый сайт начальной загрузки в приложение Django?

1 Ответ

0 голосов
/ 20 декабря 2018

Если вы пропустите предшествующий «/» для пути в HTML, он ищет файл, начиная с текущего URL.Пример:

Если вы вызываете "css / bootstrap.min.css" из "http://www.example.com/some-directory/somepage.html"

Браузер запросит: http://www.example.com/some-directory/css/bootstrap.min.css

Вы не писалиURL реферера, так что, возможно, захотите проверить это. Я всегда использую абсолютные пути, чтобы быть безопасными, тем более что я использую mod-rewrite.

...