我正在尝试为我正在创建的项目运行/admin。我在这里面临两个问题
1.当我将浏览器指向 127.0.0.1/admin/时,它说找不到页面,但是当我将浏览器指向 127.0.0.1 时,我会得到项目文件中的文件列表,如何纠正此问题
2.每次我重新启动apache时都没有创建pyc文件?
-rwxrwxrwx 1 root root 546 2012-07-11 15:45 manage.py
-rwxrwxrwx 1 root root 0 2012-07-12 17:53 __init__.py
-rwxrwxrwx 1 root root 34 2012-07-12 18:03 test
-rw-r--r-- 1 root root 114 2012-07-12 18:03 __init__.pyc
drwxr-xr-x 2 root root 4096 2012-07-12 18:20 tmp
-rwxrwxrwx 1 root root 4489 2012-07-12 18:20 settings.py
-rwxrwxrwx 1 root root 585 2012-07-12 18:34 urls.py
我已将 django.contrib.admin
包含在 settings.py 文件中已安装的应用程序中,这也是下面的 urls.py 文件
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'^$', '{{ project_name }}.views.home', name='home'),
# url(r'^{{ project_name }}/', include('{{ project_name }}.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))
)
编辑
我还没有创建任何模块..我应该创建一个模块然后访问管理吗??
编辑1
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
# This application object is used by the development server
# as well as any WSGI server configured to use this file.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
/etc/apache2/httpd.conf
WSGIScriptAlias / /opt/mysite/wsgi.py
WSGIPythonPath /opt/mysite
<Directory /opt/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
最佳答案
我认为您的 apache 配置不正确。
查看这些文档:
https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/
http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html
当然,您可以在开发服务器上启动 Django,看看是否可以访问管理区域。
在 django.wsgi 中尝试一下:
import os,sys
#add your django project in PYTHONPATH
sys.path.append('/home/django/project/path/')
os.environ['DJANGO_SETTINGS_MODULE']='projectName.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
apache_django_wsgi.conf:
Alias /uploads/ "pathTo/uploads/"
<Directory "pathTo/uploads/">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>
Alias /static/ "pathTo/sitestatic/"
<Directory "pathTo/sitestatic/">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>
WSGIScriptAlias / "pathTo/apache/django.wsgi"
<Directory "pathTo/apache/django.wsgi">
Order deny,allow
Allow from all
</Directory>
然后,在/etc/apache2/httpd.conf 中(或它所在的任何位置)
Include "/pathTo/apache_django_wsgi.conf"
关于未授予 Django 管理员访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11452601/