1

我一直在努力寻找我的 Django 项目将如何通过cherrypy 提供静态文件...尝试搜索发现了这么多解决方案...没有用...然后突然只使用cherrypy 的wsgiserver 并从django 收集静态文件一切正常... 。这是正确的吗?为什么每个人都会为此提出不同的解决方案?

我的服务器.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 中找到它。你能向我解释一下这是正常的行为吗?

4

1 回答 1

0

您的问题中缺少信息。例如您如何配置应用程序的其余部分。

将cherrypy用作网络服务器是完全合理的,但您的解决方案实际上并没有提供您的collectstatic命令发送它们的文件。您是否在“调试”模式下运行。

最后,您的目标是将其用于大容量站点的生产吗?(不是一个好主意)作为一个小型的低容量内部项目?

于 2013-10-12T01:13:59.283 回答