2

我是 Django 和 Cappuccino 的新手。我有一个 Django 站点设置并通过 mod_wsgi 通过 Apache 运行。我想使用 Django 作为 Cappuccino 应用程序的后端,但是 Apache 和 mod_wsgi 中的 VirtualHost 设置为 Django 应用程序提供服务,该静态文件位于与普通 Web 根目录不同的位置(例如http://example.com/media /http://media.example.com)。

我如何设置环境以便http://example.com为我的 Cappuccino Javascript/HTML/CSS 文件提供服务,同时还让我使用典型的 Django URL 系统为 AJAX 调用创建端点(例如http://example.com /一些/json/)?

4

2 回答 2

1

你读了...吗:

http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines

这涉及到将 WSGIScriptAlias 用于 mod_wsgi 和将 Alias 指令用于静态文件的各个方面。

我建议您确保阅读或重新阅读它,然后发布您已经尝试过的配置,因为这将有助于解释您正在尝试做什么,然后可以纠正它。

于 2009-10-04T05:44:47.503 回答
0

这是我想出的有效配置:

Django 媒体设置:

MEDIA_ROOT = '/Users/Me/Development/Web Projects/mysite/mysite/public_html'
MEDIA_URL = 'http:/mysite.local/'
ADMIN_MEDIA_PREFIX = '/'

Apache 虚拟主机配置:

<VirtualHost *:80>
    ServerAdmin webmaster@mysite.local
    ServerName mysite.local
    ErrorLog "/private/var/log/apache2/mysite.local-error_log"
    CustomLog "/private/var/log/apache2/mysite.local-access_log" common
    WSGIScriptAlias / "/Users/Me/Development/Web Projects/MySite/django.wsgi"
    <Directory "/Users/Me/Development/Web Projects/MySite/">
        Allow from all
    </Directory>
    AliasMatch ^/(.*\.[A-Za-z0-9]{1,5})$ "/Users/Me/Development/Web Projects/MySite/public_html/$1"
    <Directory "/Users/Me/Development/Web Projects/MySite/public_html">
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

基本上,此设置将使用文件扩展名(我将我的扩展名限制为 5 个字符或更少)作为静态文件提供任何请求,所有其他请求都将发送到我的 Django 应用程序。

于 2009-10-04T17:24:12.217 回答