我正在努力寻找我的Django项目如何通过cherrypy提供静态文件...尝试搜索发现了这么多解决方案......没有用......然后突然只是通过使用cherrypy的wsgiserver和来自django的collectstatic一切正常....这是正确的吗?为什么每个人都为此提出不同的解决方案?
我的server.py
__author__ = 'avlahop'
######################################################
#Trying to make cherrypie work with Django #
######################################################
#needed for environ set and python path
import os
import sys
import cherrypy.wsgiserver as wsgiserver
import django.core.handlers.wsgi
from django.core.servers.basehttp import run, WSGIServerException
from django.core.handlers.wsgi import WSGIHandler
import rhombus
import rhombus.settings
#import webbrowser
import cherrypy
os.environ['DJANGO_SETTINGS_MODULE'] = 'rhombus.settings'
app_dir = os.path.abspath(os.path.dirname(__file__))
sys.path.append(os.path.dirname(app_dir))
if __name__ == '__main__':
print 'To exit close this window'
app = WSGIHandler()
server = wsgiserver.CherryPyWSGIServer(
('0.0.0.0', 8000),
app,
server_name='www.django.example',
numthreads=20,
)
try:
server.start()
except KeyboardInterrupt:
server.stop()
它正常提供静态文件,但我无法访问它们。例如,如果我尝试访问
http://mysite/static/main.css
其中主css在static /文件夹中我从django得到一个错误,它可以在我的urls.py中找不到它。你能解释一下这是正常的行为吗?
答案 0 :(得分:0)
您的问题中缺少信息。例如,如何配置其余的应用程序。
将cherrypy用作网络服务器是完全合理的,但您的解决方案实际上并不是为您的collectstatic命令发送它们的文件提供服务。您是否在“调试”模式下运行。
最后,您的目标是使用此产品来生产高容量网站吗? (不是一个好主意)作为一个小型的小型内部项目?