我最近将我的功能性Django项目从localhost移到了我的apache2服务器上,并且网址似乎不起作用。当我做mysite.com/survey/calcs这样的事情时,它应该带我进入'计算'页面,因为我在urls.py文件中定义了计算路径。
当我在本地尝试时,一切都有效。我做了localhost然后/ calcs和页面加载。
为什么urls.py无法在我的apache服务器上运行?我正在使用mod_wsgi来启动项目。
这是urls.py的样子:
from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.conf import settings
admin.autodiscover()
urlpatterns = patterns('',
url(r'^calcs', 'pivotviewer.views.RController'),
url(r'^test', 'pivotviewer.views.current_datetime'),
)
在/ etc / apache2 / sites-available /
中的surveys.conf<VirtualHost *:80>
ServerName mysite.example.edu
WSGIScriptAlias / /var/www/surveys/index.wsgi
Alias /static /var/www/surveys/static/
<Directory /var/www/surveys/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
最后,我的index.wsgi:
import os
import sys
import site
# Add the site-packages of the chosen virtualenv to work with
site.addsitedir('~/.virtualenvs/pv/local/lib/python2.7/site-packages')
# Add the app's directory to the PYTHONPATH
sys.path.append('/var/www/surveys')
sys.path.append('/var/www/surveys/pv')
os.environ['DJANGO_SETTINGS_MODULE'] = 'pv.settings'
# Activate your virtual env
activate_env=os.path.expanduser("~/.virtualenvs/pv/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我在线查看了至少5个教程,它们的配置几乎与此完全相同。我可能在项目路径上陷入困境吗?