it-swarm.com.ru

использовать таблицу стилей CSS в шаблоне jinja2

Я делаю сайт, используя HTML, CSS, колбу и Jinja2.

У меня есть страница, работающая на флеш-сервере, отображаются кнопки и метки и т.д., Но у меня не загружена таблица стилей CSS.

Как бы я связал таблицу стилей с шаблоном jinja2? Я посмотрел в Интернете, но не могу узнать, как.

Вот ссылка на таблицу стилей CSS; я должен изменить это, или код Python?

<link rel="stylesheet" type="text/css" href="styles.css">

вот мой код колбы:

@app.route('/')
def resultstemplate():
    return render_template('questions.html', head='Welcome!')

вот расположение файлов:

/python-code.py /templates/template.html /templates/styles.css

21
ptolemy0

Все общедоступные файлы (те, которые не обрабатываются, такие как шаблоны или файлы Python) должны быть помещены в специальные статические папки. По умолчанию Jinja2 имеет одну статическую папку с именем static.

Это должно исправить вашу проблему:

  1. Переместить /templates/styles.css в /static/styles.css

  2. Обновите ваш код следующим кодом, который будет переведен в правильное местоположение файла:

    <link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
    

Больше информации о статических файлах в Jinja2 есть здесь .

27
Andrejs Cainikovs
<link rel="stylesheet" type="text/css" href="styles.css">

значение href должно быть в кавычках.

убедитесь, что имя файла и путь указаны правильно ИЛИ попробуйте следующее 

<link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}"/>
4
Sunil B N

Порядок обработчика может вызвать проблемы:

url: /stylesheets static_dir: stylesheets
url: /.* script: helloworld.application

будет работать вместо

url: /.* script: helloworld.application
url: /stylesheets static_dir: stylesheets
2
George Nguyen

Опробовал практически все решения по переполнению стека. Это сработало только для меня, когда я поместил папку static в каталог same, как мой файл run.py . Я изменил структуру папок с:

app/
    views
    static
    templates
run.py

Для того, чтобы:

app/
    views
    templates
static
run.py

Я предполагаю, что перемещение run.py также сработало бы. Посмотрите на это Учебник по Jinja Templating для дополнительной информации. Не уверен, почему я должен был изменить структуру, чтобы это работало все же.

0
wcyn