Skip to main content
 首页 » 编程设计

python之在非根文件夹下使用 Twisted 和 Django 提供静态文件

2024年08月12日32unruledboy

我正在将应用程序 ( Sage ) 从 Twisted 迁移到 Django。

静态文档目前在 /doc/static 下提供,而实时(动态构建)文档在 /doc/live 下提供。

是否可以使用 Twisted 仅服务于 /doc/static,让 Django 服务于 /doc/* 的其余部分?

请您参考如下方法:

看看this link关于如何在 Twisted 上运行 Django:(从博客中复制的说明)

  1. easy_install Twisted
  2. easy_install Django
  3. 利润!
  4. django-admin.py startproject foo
  5. 使用以下代码创建一个 myapp.py:

    从 django.core.handlers.wsgi 导入 WSGIHandler

    application = WSGIHandler()

  6. 导出 DJANGO_SETTINGS_MODULE=foo.settings

  7. twistd -no web --wsgi=myapp.application

在评论的下方还有一个示例,说明如何在将请求传递给 Django 之前直接使用 Twisted 提供媒体服务:

To handle media files just use "static.File" from "twisted.web" like so: staticrsrc = static.File(os.path.join(os.path.abspath("."), "mydjangosite/media")) and then add that resource to your root resource like so: root.putChild("media", staticrsrc)

免责声明:我自己没有尝试过,但博客文章似乎是最近的,作者愿意回答问题。

编辑:还有另一篇关于该主题的文章,其中包含有关如何使其工作的说明 here ,这似乎包括直接使用 Twisted 服务静态文件。