Python 如何从我的CherryPy应用程序中提供静态文件
我已经编写了一个简单的web应用程序,我一直在试图找出如何为静态文件提供服务器。我的静态文件文件夹位于另一个文件夹Python 如何从我的CherryPy应用程序中提供静态文件,python,cherrypy,Python,Cherrypy,我已经编写了一个简单的web应用程序,我一直在试图找出如何为静态文件提供服务器。我的静态文件文件夹位于另一个文件夹/usr/lib/python2.6/site packages/web3/static下面是我的代码,如何将此静态文件文件夹配置添加到我的应用程序中 #!/usr/bin/env python import sys import my_web.settings from django.core.management import execute_from_command_line
/usr/lib/python2.6/site packages/web3/static
下面是我的代码,如何将此静态文件文件夹配置添加到我的应用程序中
#!/usr/bin/env python
import sys
import my_web.settings
from django.core.management import execute_from_command_line
from django.core.management import call_command
import os
import tempfile
import cherrypy.wsgiserver
import django.core.handlers.wsgi
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_web.settings")
# Since we use a throwaway database, it needs to be initialized
# every time Django starts.
if sys.argv[1] in ('runserver', 'shell'):
with tempfile.NamedTemporaryFile() as dbFile:
my_web.settings.DATABASES['default']['NAME'] = dbFile.name
call_command('syncdb', interactive=False)
server = cherrypy.wsgiserver.CherryPyWSGIServer(
('0.0.0.0', 8080), django.core.handlers.wsgi.WSGIHandler(),
server_name='localhost', numthreads = 10
)
try:
server.start()
except KeyboardInterrupt:
server.stop()
试试这个。。。并确保运行应用程序的用户具有访问静态路径的权限
cherrypy.config.update({'tools.staticdir.on': True,
'tools.staticdir.dir': '/usr/lib/python2.6/site-packages/web3/static'
})
希望这有帮助 Sylvain Hellegouarch发布了一个Django CherryPy集成配方,很好地解决了提供静态Django内容的问题。看 只需将这三个python文件(init.py、httplogger.py和djangoplugin.py)放到应用程序上方的目录中,并在init.py中更改保存settings.py文件的目录名,以匹配您自己的源代码树中的目录 我还从init.py中删除了两行WebSocketPlugin,因为这与我的django应用程序无关
Sylvain的博客上有一些关于配方的讨论,网址是Ah-我有一个逗号。我已经更新了我的答案。您还需要导入cherrypy。您如何使用服务器?通过使用
python manage.py runserver
?@javiercardenas,CherryPy是一个web服务器。它是使用Django内置开发服务器a.k.a runserver的替代方案。在引用的\uuuu init\uuuuuuuupy.py
中,通过调用cherrypy.quickstart()