问题描述
我正在为此抓挠头,因为这些都没有道理。
我正在开发模式下运行Django项目。
我的许多页面中都包含base.html。
这是我的文件结构:
这是简单的base.HTML代码:
<!doctype html>
<html lang="en">
<head>
<!-- required Meta tags -->
<Meta charset="utf-8">
<Meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<!-- Bootstrap css-->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<title>RAHQ Locations {% block head_title %} {% endblock %}</title>
</head>
<body style="background-color: #26272b; color: #fff">
{% include 'navbar.html' %}
<div class='container-fluid'>
{% block content %}
{% endblock %}
</div>
{% include 'js.html' %}
<br>
<br>
{% include 'footer.html' %}
</body>
</html>
一切都像这样完美。但是我想对bootstrap css进行更改,因此我下载了bootstrap css文件,将其重命名为styles.css,并将其放置在我的静态文件夹中。
所以我用所有可以访问我的静态styles.css的东西替换了bootstrap href
我遵循所有告诉我调整我的settings.py和url.py的在线指南,以允许使用静态文件。
我尝试从view.py中引入路径:
url = staticfiles_storage.path('styles.css')
我什至尝试将整个路径键入href(C:/Try-Django-2.2-master/src/static/styles.css)
我几乎尝试了所有您能想到的东西,但我无法加载样式。我在做什么错!!
如果我在浏览器中输入CSS文件的实际路径,则可以看到所有CSS ...所以我很茫然:
C:/Try-Django-2.2-master/src/static/styles.css
这是我的设置。py:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = True
ALLOWED_HOSTS = ['54.245.181.209','*']
LOGIN_URL = '/login'
INSTALLED_APPS = [ # components
'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','locationSearch',]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',]
ROOT_URLconf = 'try_django.urls'
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 = 'try_django.wsgi.application'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR,'db.sqlite3'),}
}
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',]
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR),'src/static')
STATIC_URL = 'src/static/'
STATICFILES_Dirs = [
os.path.join(BASE_DIR,"src/static"),]
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR),'src/media')
MEDIA_URL = 'src/media/' # django-storages
解决方法
您需要对代码进行一些更改。
请考虑更改settings.py,然后更改CSS的href链接。
我们在这里...
settings.py
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'src'),]
CSS的链接应如下所示:
基本模板链接
<link type="text/css" rel="stylesheet" href="{% static 'css/main.css' %}" media="screen,projection" />
希望对您有用!