django admin后台提示没有static样式相关的文件

问题现象: 将
DEBUG = TEMPLATE_DEBUG = False
设置为False后,访问admin的管理后台,没有样式了。
 解决办法:
vim settings.py 确保有下面的这两行
STATIC_URL = '/static/'
STATIC_ROOT = '/var/searchlog/static/'
以下是nginx.conf的配置文件。我在其中添加了带有颜色的这段,我是利用的uwsgi的拉起django的。所以在这里nginx将/转到相应的端口,然后关于静态文件,我添加了一个/static,此处小弟因为路径问题,犯了点二,之前放到/root下面的目录,一直不行,然后将其放到了/var目录下面,就可以了。希望不要有兄弟犯这个二病。
[root@VM_58_36_centos var]# egrep -v '#|^$' /etc/nginx/nginx.conf
worker_processes ;
events {
worker_connections ;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout ;
server {
listen ;
server_name localhost;
location /static {
alias /var/searchlog/static/;
}
access_log /var/log/nginx_access.log;
error_log /var/log/nginx_error.log;
location / {
uwsgi_pass 127.0.0.1:9099;
include /etc/nginx/uwsgi_params;
}
access_log off;
error_page /50x.html;
location = /50x.html {
root html;
}
}
}
[root@VM_58_36_centos var]#
下再来看下uwsgi.ini的配置文件
[root@VM_58_36_centos searchlog]# cat uwsgi.ini
[uwsgi]
vhost = false
plugins = python
socket = 127.0.0.1:
master = true
enable-threads = true
workers =
wsgi-file = /var/searchlog/searchlog/wsgi.py
chdir = /var/searchlog/
[root@VM_58_36_centos searchlog]#

如果您也要使用uwsgi来拉起django的话,那么你可以直接复制我的这个配置,然后改下wsgi-file与chdir,这两个分别是wsgi.py的文件,与项目目录。这个就不再说了。还有上面使用的端口是9099,注意,我在nginx.conf的配置文件中,是转到127.0.0.1:9099的端口的,这两个需要对应起来,就是nginx会将/的访问转到uwsgi的9099的端口。

这样就可以了。
然后再命令行运行:将uwsgi跑起来
uwsgi --ini /var/searchlog/uwsgi.ini &
上面的static的文件夹,我是利用python manage.py collectstatic 来直接生成的。
步骤如下:
先在settings.py配置文件中设置一个:STATIC_ROOT = '/var/searchlog/static/'
然后再运行python manage.py collectstatic ,这样django会将相应的静态文件放到static的目录下面。
最后来看下项目的树形目录《此处省略一些static的静态文件,要不太多了》:
 [root@VM_58_36_centos var]# tree searchlog/
searchlog/
|-- db.sqlite3
|-- log
| |-- __init__.py
| |-- admin.py
| |-- migrations
| | |-- __init__.py
| |-- models.py
| |-- templates
| | |-- .html
| | |-- .html
| | |-- base.html
| | |-- login.html
| | |-- logout.html
| | |-- search.html
| | |-- showlog.html
| |-- tests.py
| |-- views.py
|-- manage.py
|-- searchlog
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| |-- wsgi.py
|-- static
| `-- admin
| |-- css
| | |-- base.css
| | `-- ............<此处省略一些内容>
| |-- img
| | |-- changelist-bg.gif
| | |-- gis
| | | |-- move_vertex_off.png
| | | `-- move_vertex_on.png
| | |-- icon-no.gif
| | |-- icon-unknown.gif
| | `-- ............<此处省略一些内容>
| `-- js
| |-- LICENSE-JQUERY.txt
| |-- actions.min.js
| |-- admin
| | |-- DateTimeShortcuts.js
| | `-- RelatedObjectLookups.js
| |-- calendar.js
| `-- ............<此处省略一些内容>
`-- uwsgi.ini [root@VM_58_36_centos var]#
这样就可以了,总结下相应的步骤:
1.在settings.py下面
STATIC_URL = '/static/'
STATIC_ROOT = '/var/searchlog/static/'
有这两个配置
2.在nginx.conf的配置文件中添加这个配置
location /static {
alias /var/searchlog/static/;
}
这样就可以了,直接使用nginx来配置的静态文件。
 
 
 
上一篇:【纯css】左图右文列表,左图外框宽度占一定百分比的正方形,右上下固定,右中自动响应高度。支持不规则图片。


下一篇:Python 文本转字典/字典转文本/文本字典转字典