0

我正在尝试做 Django 教程。第 1 部分顺利 (i.stack.imgur.com/US5GN.jpg)

但是,一旦我激活了管理站点,我就会得到根 (i.stack.imgur.com/EXfE4.jpg)。编辑(因为 SO 还不允许我发布图片;谢谢,cberner):

Page not found (404)
Request Method:     GET
Request URL:        http://dj1.net/
Using the URLconf defined in dj1_net.urls, Django tried these URL patterns, in this order:
^admin/
The current URL, , didn't match any of these.

dj1.net是我的测试域(编辑/etc/hosts),虽然dj1.net/admin/现在按预期工作,但我不知道为什么dj1.net/在我取消注释(按照指示)该行时抛出此错误

url(r'^admin/', include(admin.site.urls)),

mysite/urls.py(在我的情况下dj1_net/urls.py)。在我看来,除非GET 请求反对,否则一切都应该像以前一样工作/admin/

我的堆栈:带有 Apache 和 mod_wsgi 的 Debian 6.0 VPS。我想避免使用 Django 的内置服务器:如果我不能真正部署它,我宁愿早点知道,也不要晚点知道。事实上,为了方便 PHP 支持,我对基于 Apache 的解决方案非常感兴趣。

为了进一步参考,这是我的/etc/apache2/sites-available/dj1.net

<VirtualHost *:80>
    ServerName dj1.net
    DocumentRoot /var/www/dj1_net
    Alias /static/ /var/www/dj1_net/static/
    Alias /media/ /var/www/dj1_net/media/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    WSGIScriptAlias / /var/www/dj1_net/django.wsgi
    WSGIProcessGroup dj1_net
    WSGIDaemonProcess dj1_net processes=2 threads=16 maximum-requests=1000 display-name=apache-dj1_net-wsgi
</VirtualHost>

最后,这里是/var/www/dj1_net/django.wsgi

import sys
import os
import os.path
sys.path.append(os.path.dirname(__file__))
os.environ['DJANGO_SETTINGS_MODULE'] = 'dj1_net.settings'
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

坦率地说,我对 Apache 服务器配置WSGI 知之甚少。但是,我确实希望在开始使用 Django 之前完成此设置。我遵循了官方说明这篇文章的混合,因为坦率地说,我无法让 Django 逐字应用任一说明。恐怕问题的根源一定在那儿……

任何提示将不胜感激。

干杯!

SP

第二次编辑。这是dj1_net/urls.py(谢谢,scytale):

from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'dj1_net.views.home', name='home'),
    # url(r'^dj1_net/', include('dj1_net.foo.urls')),

    # 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)),
)
4

1 回答 1

1

您没有为网站的根目录定义 url。您需要添加一个,例如:

url(r'^$', 'dj1_net.views.my_view_function'),

这将在定义管理 URL 的行之后。

于 2012-07-02T18:00:01.090 回答