Файл Html не загружается с моим файлом css? - PullRequest
0 голосов
/ 04 апреля 2020

Все мои html и css и файлы находятся в одной папке шаблонов, поэтому я не думаю, что это проблема. Я новичок в разработке интерфейсов и в глубоком замешательстве ... пожалуйста, помогите, это не очень хорошее начало lol!

- Моя база. html file -

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>{% block title %}{% endblock %}</title>
    <link rel="stylesheet" type="text/css" href="main.css"/>
</head>
<body>
    <nav class="navigation_bar">
        <ul>
            <li>
                <a href="/about"><b>about page</b></a>
            </li>
        </ul>
    </nav>
    {% block content %}{% endblock %}
</body>
</html>

- main. css -

@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600');

body {
    text-align: center;
    font-family: 'Montserrat';
}



.navigation_bar a {
    text-decoration: none;
}

Может быть, это проблема с моим css? Спасибо!

Ответы [ 2 ]

1 голос
/ 04 апреля 2020

Я думаю, что проблема здесь в вашем сервере, я предполагаю, что вы используете Flask, так как вы пишете синтаксис Jinja в вашем файле html, я думаю, что проблема в том, что Flask не может найти ваш css файл. вам нужно точно указать, где искать файл stati c, или вы можете просто настроить маршрутизатор для обработки запросов файлов, чтения файлов и отправки их обратно в браузер.

Первый способ

from flask import Flask, render_template

app = Flask(__name__,
            static_url_path='', 
            static_folder='static',
            template_folder='templates')

@app.route('/')
def main_page():
  return render_template("index.html")

, поэтому теперь Flask будет искать ваши stati c файлы в папке "static", вам нужно создать их, а затем поместить туда ваши stati c файлы включая файл css, и оставьте файл html таким, какой он есть, не меняйте путь к файлу css, включив в него имя папки, поскольку Flask будет обслуживать его так, как если бы он находился в текущем каталоге сценария.

Второй способ

from flask import Flask, render_template, request, Response

app = Flask(__name__)

@app.route('/')
def main_page():
  return render_template("index.html")

@app.route('/css')
def giveCSS():
  fileContent = ""
  file_name = request.args.get("name")
  if(file_name):
    file = open("css/" + file_name + ".css", "r")
    for line in file:
      fileContent += line
  return Response(fileContent, mimetype='text/css')

Я предполагаю, что у вас есть другие css файлы, вам нужно изменить путь к файлу css внутри файла html для включения запроса /css/name=main и файла css внутри может быть папка с именем "css", конечно, вы можете изменить любые имена, которые вам не нравятся, но обязательно позаботьтесь.

0 голосов
/ 04 апреля 2020

Вместо отдельного css файла вы можете использовать теги для включения css в ваш html файл, возможно, это решит вашу проблему.

...