我正在尝试在带有python 3.5.3和Django 2.1.7的树莓派3(raspian 9)上使用gunicorn 19.19.0和nginx 1.10.3运行django admin应用程序。 Nginx似乎正常工作,并且Nginx和Gunicorn错误日志为空。该应用程序将不会显示任何静态内容。
我检查了nginx.conf文件。
我运行了collectstatic并检查了所有文件。
我可以将浏览器指向192.168.1.20/static,它显示正确的目录。
我还可以浏览所有文件。
我尝试在nginx.conf文件中的路径后加上'/'
管理应用程序的所有功能都可以正常工作。只是没有静态内容。
我已经搜索并阅读/尝试了所有可以找到的论坛修复程序。
我还运行了python开发服务器(python manage.py runserver)。在该配置中,静态内容可以正常显示。
events{}
http {
server {
listen 80;
server_name localhost;
location /static {
autoindex on;
alias /home/pi/DigitalClock/dcvenv/static;
}
location / {
error_log /home/pi/DigitalClock/dcvenv/nginx_err.log;
access_log /home/pi/DigitalClock/dcvenv/nginx_acc.log;
proxy_pass http://127.0.0.1:8000;
}
}
}
gunicorn dcweb.wsgi:application --bind localhost:8000
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static/')
192.168.1.10--[18 / Feb / 2019:12:45:43 -0800]“ POST / admin / login /?next = / admin / HTTP / 1.1” 302 0“ http://192.168.1.20/admin/login/?next=/admin/”“” Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 71.0.3578.98 Safari / 537.36” 192.168.1.10--[18 / Feb / 2019:12:45:43 -0800]“ GET / admin / HTTP / 1.1” 200 4944“ http://192.168.1.20/admin/login/?next=/admin/”“” Mozilla / 5.0(Windows NT 10.0; Win64; x64 )AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 71.0.3578.98 Safari / 537.36“ 192.168.1.10--[18 / Feb / 2019:12:45:59 -0800]“ GET / admin / auth / group / HTTP / 1.1” 200 3500“ http://192.168.1.20/admin/”“ Mozilla / 5.0(Windows NT 10.0 ; Win64; x64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 71.0.3578.98 Safari / 537.36“ 192.168.1.10--[18 / Feb / 2019:12:45:59 -0800]“ GET / admin / jsi18n / HTTP / 1.1” 200 3185“ http://192.168.1.20/admin/auth/group/”“ Mozilla / 5.0(Windows NT 10.0; Win64 ; x64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 71.0.3578.98 Safari / 537.36“
答案 0 :(得分:0)
将此代码放在您的settings.py中,然后您有了collectstatic
,还测试了DEBUG = True
ROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') # specify static root
添加您的url项目
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
更新对您的项目尝试这种方式。:
urlpatterns = patterns('',
....urls......
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
在您的settings.py
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
REPOSITORY_ROOT = os.path.dirname(BASE_DIR)
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.6/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(REPOSITORY_ROOT, 'static/')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(REPOSITORY_ROOT, 'media/')