1

我正在尝试完成 Django 入门教程

我的网站在 django 测试网络服务器上运行良好。我正试图让它在 Apache 上运行。

我已经设置了 Apache,所以http://mydomain.com/mysite/将进入 Django 根项目(mysite)。但是我无法参加民意调查,因为我认为它正在等待http://mydomain.com/polls/

如何将项目根 url 从更改http://mydomain.com/polls/http://mydomain.com/mysite/polls

我在根 urls.py 文件中尝试了以下内容:

urlpatterns = patterns('',
    url(r'^mysite/' include('mysite')),
    url(r'^polls/', include('polls.urls', namespace="polls")),
    url(r'^admin/', include(admin.site.urls)),
)

但它不起作用。我搜索了尽可能多的文档,但找不到答案。

我的 Apache 配置如下:

WSGIScriptAlias "/mysite/" /usr/local/mysite/mysite/wsgi.py
WSGIPythonPath /usr/local/mysite

<VirtualHost *:80>
  <Directory /usr/local/mysite/mysite>
    <Files wsgi.py>
      Order deny,allow
      Allow from all
    </Files>
  </Directory>
</VirtualHost>

@scriptmonsters 回答更改了根 URL,但是现在 Apache 将根 URL 之后的所有内容附加到 wscgi 文件的位置。因此,如果我尝试http://myhost.com/mysite/polls/我会not found在 apache 日志中得到以下信息:

[Wed Nov 06 12:49:23 2013] [error] [client 109.144.246.190] Target WSGI script not found or unable to stat: /usr/local/mysite/mysite/wsgi.pypolls

(请注意,它试图访问的文件是wsgi.pyPOLLS

4

1 回答 1

1

我认为这是您需要的以下内容:

urlpatterns = patterns('',
    url(r'^mysite/polls/', include('polls.urls', namespace="polls")),
    url(r'^mysite/admin/', include(admin.site.urls)),
)
于 2013-11-06T12:40:04.160 回答