我正在尝试完成Django初学者tutorial。
我在django测试Web服务器上正常运行该站点。我试图让它在Apache上运行。
我已经设置了Apache,因此http://mydomain.com/mysite/
将进入Django根项目(mysite)。但是我不能参加投票,因为我认为它期待http://mydomain.com/polls/
如何将项目根网址从http://mydomain.com/polls/
更改为http://mydomain.com/mysite/polls
?
我在root 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将根网址后的所有内容附加到wscgi文件的位置。因此,如果我尝试http://myhost.com/mysite/polls/,我会在apache日志中获得not found
这个:
[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
)
答案 0 :(得分:1)
我认为您需要以下内容:
urlpatterns = patterns('',
url(r'^mysite/polls/', include('polls.urls', namespace="polls")),
url(r'^mysite/admin/', include(admin.site.urls)),
)