2012-10-14 110 views
0

我想建立一個簡單的事情,我已經做了很多次,這是在Django上啓用管理頁面,但這次是在1.4版本。在Django 1.4管理頁面不起作用

我不斷收到此消息(ImportError at /admin/ No module named django.contrib.auth)。

這是我的網址文件:

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


from filebrowser.sites import site 

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

import django 

from django.contrib import auth 

from django.contrib.admin import * 

urlpatterns = patterns('', 
      url(r'^admin/', include(admin.site.urls)), 
      url(r'^admin/filebrowser/', include(site.urls)), 

      url(r'^polls/', include('volcano.urls')), 
      url(r'^contact/', include('form_handle_app.urls')), 

      # Uncomment the admin/doc line below to enable admin documentation: 
      #url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 
      #url(r'^admin/', include('django.contrib.admin.urls')), 
      url(r'^login/', 'django.contrib.auth.views.login', {'template_name': 'login.html'}), 
         ) 

這是設置文件:

# Django settings for sito project. 

DEBUG = True 
TEMPLATE_DEBUG = DEBUG 

import os 
#PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__)) 
PROJECT_ROOT = '/home/framoau/sito' 

ADMINS = (
    # ('Your Name', '[email protected]'), 
) 

MANAGERS = ADMINS 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': 'testo',      # Or path to database file if using sqlite3. 
     'USER': '********',      # Not used with sqlite3. 
     'PASSWORD': '********',     # Not used with sqlite3. 
     'HOST': '',      # Set to empty string for localhost. Not used with sqlite3. 
     'PORT': '',      # Set to empty string for default. Not used with sqlite3. 
    } 
} 

# Local time zone for this installation. Choices can be found here: 
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name 
# although not all choices may be available on all operating systems. 
# On Unix systems, a value of None will cause Django to use the same 
# timezone as the operating system. 
# If running in a Windows environment this must be set to the same as your 
# system time zone. 
TIME_ZONE = 'America/Chicago' 

# Language code for this installation. All choices can be found here: 
# http://www.i18nguy.com/unicode/language-identifiers.html 
LANGUAGE_CODE = 'en-us' 

SITE_ID = 1 

# If you set this to False, Django will make some optimizations so as not 
# to load the internationalization machinery. 
USE_I18N = True 

# If you set this to False, Django will not format dates, numbers and 
# calendars according to the current locale. 
USE_L10N = True 

# If you set this to False, Django will not use timezone-aware datetimes. 
USE_TZ = True 

# Absolute filesystem path to the directory that will hold user-uploaded files. 
# Example: "/home/media/media.lawrence.com/media/" 
MEDIA_ROOT = '/home/framoau/sito/media/' 


# URL that handles the media served from MEDIA_ROOT. Make sure to use a 
# trailing slash. 
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/" 
MEDIA_URL = 'media' 

# Absolute path to the directory static files should be collected to. 
# Don't put anything in this directory yourself; store your static files 
# in apps' "static/" subdirectories and in STATICFILES_DIRS. 
# Example: "/home/media/media.lawrence.com/static/" 
STATIC_ROOT = '' 

# URL prefix for static files. 
# Example: "http://media.lawrence.com/static/" 
STATIC_URL = '/static/' 

# Additional locations of static files 
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
) 

# List of finder classes that know how to find static files in 
# various locations. 
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
# 'django.contrib.staticfiles.finders.DefaultStorageFinder', 
) 

# Make this unique, and don't share it with anybody. 
SECRET_KEY = '$hebtpijge6%o*7uegb6!sny5vl0n4w9j2wao-([email protected]' 

# List of callables that know how to import templates from various sources. 
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader', 
    'django.template.loaders.eggs.Loader', 
) 

# URL of the login page. 
LOGIN_URL = '/contact/login/' 

TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth", 
           "django.core.context_processors.debug", 
           "django.core.context_processors.i18n", 
           "django.core.context_processors.media", 
           "django.core.context_processors.static", 
           "django.core.context_processors.tz", 
           "django.contrib.messages.context_processors.messages" 
           ) 

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    #'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 

    # Uncomment the next line for simple clickjacking protection: 
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 

ROOT_URLCONF = 'sito.urls' 

# Python dotted path to the WSGI application used by Django's runserver. 
WSGI_APPLICATION = 'sito.wsgi.application' 

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
    '/home/framoau/sito/templates', 
) 

INSTALLED_APPS = ( 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    'grappelli', 
    'filebrowser', 

    'django.contrib.admindocs', 

    'volcano', 
    'form_handle_app', 
) 

# A sample logging configuration. The only tangible logging 
# performed by this configuration is to send an email to 
# the site admins on every HTTP 500 error when DEBUG=False. 
# See http://docs.djangoproject.com/en/dev/topics/logging for 
# more details on how to customize your logging configuration. 
LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'filters': { 
     'require_debug_false': { 
      '()': 'django.utils.log.RequireDebugFalse' 
     } 
    }, 
    'handlers': { 
     'mail_admins': { 
      'level': 'ERROR', 
      'filters': ['require_debug_false'], 
      'class': 'django.utils.log.AdminEmailHandler' 
     } 
    }, 
    'loggers': { 
     'django.request': { 
      'handlers': ['mail_admins'], 
      'level': 'ERROR', 
      'propagate': True, 
     }, 
    } 
} 

我的管理頁面:

from volcano.models import Poll, Choice 
from form_handle_app.models import Document 


from django.contrib import admin 


#admin.site.register(Poll) 
#admin.site.register(Choice) 
admin.site.register(Document) 

最後,Django的錯誤轉儲:

> Environment: 


Request Method: GET 
Request URL: http://192.168.0.4/admin/ 

Django Version: 1.4 
Python Version: 2.7.3 
Installed Applications: 
('django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'django.contrib.admin', 
'grappelli', 
'filebrowser', 
'django.contrib.admindocs', 
'volcano', 
'form_handle_app') 
Installed Middleware: 
('django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware') 


Traceback: 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/handlers/base.py" in get_response 
    111.       response = callback(request, *callback_args, **callback_kwargs) 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/contrib/admin/sites.py" in wrapper 
    213.     return self.admin_view(view, cacheable)(*args, **kwargs) 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/utils/decorators.py" in _wrapped_view 
    91.      response = view_func(request, *args, **kwargs) 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/views/decorators/cache.py" in _wrapped_view_func 
    89.   response = view_func(request, *args, **kwargs) 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/contrib/admin/sites.py" in inner 
    192.           current_app=self.name): 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/urlresolvers.py" in reverse 
    447.     app_list = resolver.app_dict[ns] 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/urlresolvers.py" in app_dict 
    290.    self._populate() 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/urlresolvers.py" in _populate 
    253.      for name in pattern.reverse_dict: 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/urlresolvers.py" in reverse_dict 
    276.    self._populate() 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/urlresolvers.py" in _populate 
    265.     lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args)) 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/urlresolvers.py" in callback 
    216.   self._callback = get_callable(self._callback_str) 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/utils/functional.py" in wrapper 
    27.   result = func(*args) 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/urlresolvers.py" in get_callable 
    105.      not module_has_submodule(import_module(parentmod), submod)): 
File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/utils/importlib.py" in import_module 
    35.  __import__(name) 

Exception Type: ImportError at /admin/ 
Exception Value: No module named django.contrib.auth 

我試圖導入manage.py殼控制檯中的所有庫,適用於所有對象都自省技術,一切很容易的工作,當我運行的東西只能停正常的Django。我究竟做錯了什麼?

回答

1

我得到了它:))

的問題是進口/包括在主要的URL其他URL。 試圖評論此行url(r'^contact/', include('form_handle_app.urls')), ,事情進展順利。

我發現uform_handle_app.urls,有一個不涉及任何內容的壞行(url(r'^$', 'contact'),),同時,除非瀏覽器觸及django,否則不會發出抱怨;當添加管理頁面時,即使您不使用它們,您擁有的所有網址都應該沒問題。 `

相關問題