我是django的新手,所以請原諒我,如果這是顯而易見的。如何用apache設置django,以便我的應用程序位於根網址?
我已經通過教程,所以我有一個項目(我稱之爲「trydj」),它有一個名爲「民意調查」的應用程序。我想要做的就是對根擔任投票,即:
http://www.example.com/
將調用民調索引視圖和 http://www.example.com/details/
將調用細節查看投票。
我不想要什麼(但目前有)是:
http://www.example.com/polls
和 http://www.example.com/polls/details/
我也想繼續有其他應用程序的能力在其他子網址,如服管理員或其他應用程序,我可能會創建,即:
http://www.example.com/admin/
或 http://www.example.com/anotherapp/
我有一切就像在教程的結尾處,在項目級別設置settings.py,manage.py等,在trydj和polls中都是urls.py。
在trydj的urls.py有以下URL模式:
urlpatterns = patterns('',
# Uncomment the admin/doc line below to enable admin documentation:
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
url(r'^polls/', include('polls.urls')),
)
和輪詢urls.py有以下URL模式:
urlpatterns = patterns('',
url(r'^$',
ListView.as_view(
queryset=Poll.objects.order_by('-pub_date')[:5],
template_name='polls/index.html'
)
),
url(r'^(?P<pk>\d+)/$',
DetailView.as_view(
model=Poll,
template_name='polls/detail.html'
)
),
url(r'^(?P<pk>\d+)/results/$',
DetailView.as_view(
model=Poll,
template_name='polls/results.html'
),
name='poll_results'
),
url(r'^(?P<pk>\d+)/vote/$', 'polls.views.vote'),
)
基礎上,我已經創建了Apache的配置django文檔是:
WSGIScriptAlias//var/django/trydj/wsgi.py
WSGIPythonPath /var/django
<Directory /var/django/trydj>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>
我的wsgi.py,同樣基於django文檔是:
import os
import sys
sys.path.append('/var/django/trydj')
os.environ['PYTHON_EGG_CACHE'] = '/var/django/.python-egg'
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我試圖以各種方式trydj.urls改變相關的URL正則表達式。值r'^'
這樣做的竅門,但即使我將它們移出polls目錄並進入到templates文件夾的根目錄下,應用程序仍然無法找到它的模板文件。
一如既往,任何幫助,非常感謝。
我試過了(或者以爲我做過了,有點晚了),但也許我在嘗試這個時發生了其他部分變化。無論如何,我只是在教程中用一個乾淨的功能實現來嘗試它(很高興我標記了它),它的功能就像一個魅力。我確實必須修復模板中的一些URL參考,但是一旦我發現了標籤,它就變得非常容易了。謝謝! – ThatAintWorking 2011-12-16 19:52:03