На самом деле я новичок в Django и пытался загрузить свою тему во вновь созданный проект.
У меня есть файл шаблона home.html
, расположенный в каталоге {APP_NAME}/templates/ моего проекта Django. APP_NAME здесь называется website
, а имя проекта — dentist
. Вот структура каталога верхнего уровня проекта:
dentist
env (virtual environment)
static
website
css
templatemo_style.css
images
...
website
templates
home.html
manage.py
Как вы видите, статические файлы размещаются в статике под APP_NAME.
А теперь home.html
:
{% load static %}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" />
<title>free template one - templatemo</title>
<meta name = "keywords" content = "" />
<meta name = "description" content = "" />
<link href = "{% static 'website/css/templatemo_style.css' %}" rel = "stylesheet" type = "text/css" />
</head>
А это settings.py
добавленная конфигурация:
STATIC_URL = 'static/'
STATICFILES_DIR = [
os.path.join(BASE_DIR,'static')
]
Но теперь проблема в том, что всякий раз, когда я загружаю проект, файл CSS не загружается, а HTML повреждается!
Я проверяю исходный код и вижу эту ссылку:
<link href = "/static/website/css/templatemo_style.css" rel = "stylesheet" type = "text/css" />
Однако он не найден, и страница открывается следующим образом:
🤔 А знаете ли вы, что...
Python позволяет создавать сценарии для автоматизации задач и обработки данных.
Переместите папку static
в папку веб-сайта (вашего приложения).
Кроме того, создайте папку с именем веб-сайт (имя приложения) в папке шаблонов и переместите home.html
туда.
Это будет ваша окончательная файловая структура.
website
static
website
css
templatemo_style.css
templates
website
home.html
Я надеюсь, что это решит вашу проблему.