我仍然只是在玩Django,无法弄清楚我的CSS文件在做什么。我的HTML有效,但CSS不起作用。我猜想它与settings.py或一些我没有使用的特殊“ Django代码”有关。这是我的HTML的代码(我猜这是要显示的相关代码)。
这是我的HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>home</title>
<link rel="stylesheet" type="text/css" href="../css/styles.css"/>
</head>
<body>
<h3>HELLO WORLD!</h3>
</body>
</html>
这是我的设置。py:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'ecommerce005.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
这是我的urls.py:
from django.conf.urls import url
from django.contrib import admin
from .views import home_page
urlpatterns = [
url(r'^$', home_page),
url(r'^admin/', admin.site.urls),
]
这是我的views.py:
from django.http import HttpResponse
from django.shortcuts import render
def home_page(request):
return render(request, "index.html", {})
我的文件顺序如下: 'src'目录: 1)'css'文件夹保存我的styles.css文件 2)“ projectname”文件夹包含上面显示的所有django文件 3)'templates'文件夹包含我的index.html文件
请尽可能具体。我在网上找到了资源,但是对于我来说,它们似乎太模糊了,无法找到解决方案。感谢您的帮助。
答案 0 :(得分:0)
您需要在settings.py中设置“ STATIC_ROOT”
STATIC_URL = '/staticfiles/'
STATIC_ROOT = os.path.join(BASE_DIR, '/static/')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
如果DEBUG = False,则需要设置代理服务器(如nginx)来提供这些静态文件
此link可以进一步解释。
答案 1 :(得分:0)
Wootton,正如所说的那样,您需要在settings.py上设置static_root,之后您可以调用CSS
<link type="text/css" rel="stylesheet" href="{{ STATIC_URL }}css/style-responsive.css">
但是在设置static_root之前/之后,您需要创建一个名为static的文件夹并在其中提供CSS。
我认为这会对您有所帮助!
答案 2 :(得分:0)
在 settings.py
中配置静态文件STATIC_URL = '/static/'
STATICFILES_DIRS=[
(os.path.dirname(BASE_DIR),"static"),
]
STATIC_ROOT = (os.path.dirname(BASE_DIR),"static_files")
在模板(即HTML文件)中
{% load static %}
<html>
....
<link href="{% static 'styles/style.css' %}" rel="stylesheet" media="screen, print" type="text/css">
目录结构
-项目文件夹
-|静态
---- |样式
------ | styles.css