Django 一些 css 无法在生产环境中工作
Django some css not working in production
我有一个 Django 应用程序。在生产中我 运行 collectstatic
除了一小块 css 之外一切都很好。这个 css 是一个问号,悬停时会显示有关应用程序功能的一些提示。
这也可能是 nginx 配置问题。但是同样,只是这一段 css 不能正常工作。
html
<div class="help-tip">
<p>
some text
</p>
</div>
css
/*-------------------------
Inline help tip
--------------------------*/
.help-tip-wrapper{
padding-top: 15px;
padding-left: 5px;
}
.help-tip{
text-align: center;
background-color: #BCDBEA;
border-radius: 50%;
width: 24px;
height: 24px;
font-size: 14px;
line-height: 26px;
cursor: default;
}
.help-tip:before{
content:'?';
font-weight: bold;
color:#fff;
}
.help-tip:hover p{
display:block;
-webkit-animation: fadeIn 0.3s ease-in-out;
animation: fadeIn 0.3s ease-in-out;
}
.help-tip p{
display: none;
background-color: #1E2021;
padding: 20px;
width: 300px;
border-radius: 3px;
right: -4px;
color: #FFF;
font-weight: normal;
font-size: 10px;
z-index: 100;
line-height: 1.4;
position: relative;
}
.help-tip p:before{
content: '';
width:0;
height: 0;
border:6px solid transparent;
border-bottom-color:#1E2021;
right:10px;
top:-12px;
}
.help-tip p:after{
width:100%;
height:40px;
content:'';
top:-40px;
left:0;
}
settings.py
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
所有 css 工作正常,除了这个。
您的 settings.py
文件有误。
它应该是这样的
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATIC_DIRS = [
os.path.join(BASE_DIR, 'static')
]
您现在还必须使用上述更改更新 nginx
或 apach2
服务器 'staticfiles'
当您 运行 collectstatic
命令时,它现在会将您的包保存在 staticfiles
目录中,并在您 DEBUG=False
时提供。如果您的 debug=True,那么它将从 static
文件夹
服务器
您还没有使用“collectstatic”的 url 映射。所以在你的设置中,使用这种映射。 (除关键字(变量名)外可任意编辑)
STATIC_URL = '/static/'
STATICFILES_DIRS=[BASE_DIR / 'static']
STATIC_ROOT= BASE_DIR / 'staticfiles'
在此之后,运行 'collectstatic'。您将在这个特定的 url 映射文件中获得生产中的所有 css。
我有一个 Django 应用程序。在生产中我 运行 collectstatic
除了一小块 css 之外一切都很好。这个 css 是一个问号,悬停时会显示有关应用程序功能的一些提示。
这也可能是 nginx 配置问题。但是同样,只是这一段 css 不能正常工作。
html
<div class="help-tip">
<p>
some text
</p>
</div>
css
/*-------------------------
Inline help tip
--------------------------*/
.help-tip-wrapper{
padding-top: 15px;
padding-left: 5px;
}
.help-tip{
text-align: center;
background-color: #BCDBEA;
border-radius: 50%;
width: 24px;
height: 24px;
font-size: 14px;
line-height: 26px;
cursor: default;
}
.help-tip:before{
content:'?';
font-weight: bold;
color:#fff;
}
.help-tip:hover p{
display:block;
-webkit-animation: fadeIn 0.3s ease-in-out;
animation: fadeIn 0.3s ease-in-out;
}
.help-tip p{
display: none;
background-color: #1E2021;
padding: 20px;
width: 300px;
border-radius: 3px;
right: -4px;
color: #FFF;
font-weight: normal;
font-size: 10px;
z-index: 100;
line-height: 1.4;
position: relative;
}
.help-tip p:before{
content: '';
width:0;
height: 0;
border:6px solid transparent;
border-bottom-color:#1E2021;
right:10px;
top:-12px;
}
.help-tip p:after{
width:100%;
height:40px;
content:'';
top:-40px;
left:0;
}
settings.py
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
所有 css 工作正常,除了这个。
您的 settings.py
文件有误。
它应该是这样的
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATIC_DIRS = [
os.path.join(BASE_DIR, 'static')
]
您现在还必须使用上述更改更新 nginx
或 apach2
服务器 'staticfiles'
当您 运行 collectstatic
命令时,它现在会将您的包保存在 staticfiles
目录中,并在您 DEBUG=False
时提供。如果您的 debug=True,那么它将从 static
文件夹
您还没有使用“collectstatic”的 url 映射。所以在你的设置中,使用这种映射。 (除关键字(变量名)外可任意编辑)
STATIC_URL = '/static/'
STATICFILES_DIRS=[BASE_DIR / 'static']
STATIC_ROOT= BASE_DIR / 'staticfiles'
在此之后,运行 'collectstatic'。您将在这个特定的 url 映射文件中获得生产中的所有 css。