template tag createsuperuser python django admin panel wsgi

python - tag - django-admin createsuperuser



El objeto ''WSGIRequest'' no tiene atributo ''usuario'' Django admin (8)

Cuando intento acceder a la página de administración me da el siguiente error:

System check identified no issues (0 silenced). June 21, 2016 - 15:26:14 Django version 1.9.7, using settings ''librato_chart_sender_web.settings'' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Internal Server Error: /admin/ Traceback (most recent call last): File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 149, in get_response response = self.process_exception_by_middleware(e, request) File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 147, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/Library/Python/2.7/site-packages/django/contrib/admin/sites.py", line 265, in wrapper return self.admin_view(view, cacheable)(*args, **kwargs) File "/Library/Python/2.7/site-packages/django/utils/decorators.py", line 149, in _wrapped_view response = view_func(request, *args, **kwargs) File "/Library/Python/2.7/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func response = view_func(request, *args, **kwargs) File "/Library/Python/2.7/site-packages/django/contrib/admin/sites.py", line 233, in inner if not self.has_permission(request): File "/Library/Python/2.7/site-packages/django/contrib/admin/sites.py", line 173, in has_permission return request.user.is_active and request.user.is_staff AttributeError: ''WSGIRequest'' object has no attribute ''user'' [21/Jun/2016 15:26:18] "GET /admin/ HTTP/1.1" 500 78473

Soy bastante nuevo en django ... pero seguí este tutorial: https://docs.djangoproject.com/en/1.9/ref/contrib/admin/

No tengo AdminSites personalizados ni AdminModels personalizados.

Ya busqué en Google este problema, pero aún así no puedo resolverlo para mi caso de ninguna manera. Puede usted ayudar ?

Aquí está mi settings.py :

""" Django settings for librato_chart_sender_web project. Generated by ''django-admin startproject'' using Django 1.11.dev20160523235928. For more information on this file, see https://docs.djangoproject.com/en/dev/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/dev/ref/settings/ """ import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/dev/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = ''*1@+=wzrqx^6$9z&@2@d8r(w$js+ktw45lv2skez(=kz+rwff_'' # SECURITY WARNING: don''t run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = [ ''django.contrib.admin'', ''librato_chart_sender'', ''fontawesome'', ''django.contrib.auth'', ''django.contrib.contenttypes'', ''django.contrib.sessions'', ''django.contrib.messages'', ''django.contrib.staticfiles'', ] MIDDLEWARE = [ ''django.middleware.security.SecurityMiddleware'', ''django.contrib.sessions.middleware.SessionMiddleware'', ''django.middleware.common.CommonMiddleware'', ''django.middleware.csrf.CsrfViewMiddleware'', ''django.contrib.auth.middleware.AuthenticationMiddleware'', ''django.contrib.messages.middleware.MessageMiddleware'', ''django.middleware.clickjacking.XFrameOptionsMiddleware'', ] ROOT_URLCONF = ''librato_chart_sender_web.urls'' TEMPLATES = [ { ''BACKEND'': ''django.template.backends.django.DjangoTemplates'', ''DIRS'': [os.path.join(BASE_DIR, ''librato_chart_sender/templates'')], ''APP_DIRS'': True, ''OPTIONS'': { ''context_processors'': [ ''django.template.context_processors.debug'', ''django.template.context_processors.request'', ''django.contrib.auth.context_processors.auth'', ''django.contrib.messages.context_processors.messages'', ], }, }, ] WSGI_APPLICATION = ''librato_chart_sender_web.wsgi.application'' # Database # https://docs.djangoproject.com/en/dev/ref/settings/#databases DATABASES = { ''default'': { ''ENGINE'': ''django.db.backends.sqlite3'', ''NAME'': os.path.join(BASE_DIR, ''db.sqlite3''), } } # Password validation # https://docs.djangoproject.com/en/dev/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { ''NAME'': ''django.contrib.auth.password_validation.UserAttributeSimilarityValidator'', }, { ''NAME'': ''django.contrib.auth.password_validation.MinimumLengthValidator'', }, { ''NAME'': ''django.contrib.auth.password_validation.CommonPasswordValidator'', }, { ''NAME'': ''django.contrib.auth.password_validation.NumericPasswordValidator'', }, ] # Internationalization # https://docs.djangoproject.com/en/dev/topics/i18n/ LANGUAGE_CODE = ''en-us'' TIME_ZONE = ''GMT'' USE_I18N = True USE_L10N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/dev/howto/static-files/ STATIC_URL = ''/static/'' STATICFILES_DIRS = [ (''css'', ''librato_chart_sender/static/css''), (''js'', ''librato_chart_sender/static/js''), (''fonts'', ''librato_chart_sender/static/fonts''), ]

y admin.py :

from django.contrib import admin from .models import Configuration # Register your models here. admin.site.register(Configuration)


En caso de que alguien tenga el mismo problema en django 2.0.2 o posterior,

solo actualiza

MIDDLEWARE_CLASSES = ( ''django.contrib.sessions.middleware.SessionMiddleware'', ''django.middleware.common.CommonMiddleware'', ''django.middleware.csrf.CsrfViewMiddleware'', ''django.contrib.auth.middleware.AuthenticationMiddleware'', ''django.contrib.auth.middleware.SessionAuthenticationMiddleware'', ''django.contrib.messages.middleware.MessageMiddleware'', ''django.middleware.clickjacking.XFrameOptionsMiddleware'', ''django.middleware.security.SecurityMiddleware'', )

con

MIDDLEWARE = [ ''django.middleware.security.SecurityMiddleware'', ''django.contrib.sessions.middleware.SessionMiddleware'', ''django.middleware.common.CommonMiddleware'', ''django.middleware.csrf.CsrfViewMiddleware'', ''django.contrib.auth.middleware.AuthenticationMiddleware'', ''django.contrib.messages.middleware.MessageMiddleware'', ''django.middleware.clickjacking.XFrameOptionsMiddleware'', ]

Funcionó para mí porque creé mi proyecto con django 1.0.x pero luego lo actualicé a django 2.0.2


En caso de que alguien tenga este problema con Django 2.0, la siguiente configuración con MIDDLEWARE nuevo estilo parece funcionar ( documentos aquí ):

MIDDLEWARE = [ ''django.middleware.security.SecurityMiddleware'', ''django.contrib.sessions.middleware.SessionMiddleware'', ''django.middleware.common.CommonMiddleware'', ''django.middleware.csrf.CsrfViewMiddleware'', ''django.contrib.auth.middleware.AuthenticationMiddleware'', ''django.contrib.messages.middleware.MessageMiddleware'', ''django.middleware.clickjacking.XFrameOptionsMiddleware'', ]


Encontré la respuesta. El nombre de la variable en:

MIDDLEWARE = [ ''django.middleware.security.SecurityMiddleware'', ''django.contrib.sessions.middleware.SessionMiddleware'', ''django.middleware.common.CommonMiddleware'', ''django.middleware.csrf.CsrfViewMiddleware'', ''django.contrib.auth.middleware.AuthenticationMiddleware'', ''django.contrib.messages.middleware.MessageMiddleware'', ''django.middleware.clickjacking.XFrameOptionsMiddleware'', ]

MIDDLEWARE es la nueva configuración de estilo introducida en Django 1.10. Cambie el nombre a MIDDLEWARE_CLASSES y ahora funciona.

Entonces ahora el código es:

MIDDLEWARE_CLASSES = [ ''django.middleware.security.SecurityMiddleware'', ''django.contrib.sessions.middleware.SessionMiddleware'', ''django.middleware.common.CommonMiddleware'', ''django.middleware.csrf.CsrfViewMiddleware'', ''django.contrib.auth.middleware.AuthenticationMiddleware'', ''django.contrib.messages.middleware.MessageMiddleware'', ''django.middleware.clickjacking.XFrameOptionsMiddleware'', ]


Mi solución fue que mi Django ver. fue 1.9 Reinstalé nuevamente a 1.10 sin cambiar MIDDLEWARE a MIDDLEWARE_CLASSES.


No debe cambiar MIDDLEWARE a MIDDLEWARE_CLASSES. Lo que sucede aquí es más probable que haya creado la aplicación con django 1.10 y ahora la esté ejecutando con 1.9 o una versión anterior.

Asegúrese de utilizar una versión específica de django (y todas las demás bibliotecas) para que su proyecto no se rompa al implementar o ejecutar en diferentes máquinas.

Si tiene una base de código estable, simplemente ejecute:

pip freeze > requirements.txt

Y luego, al implementar o configurar un nuevo entorno, simplemente haga lo siguiente:

pip install -r requirements.txt

Siempre debe considerar usar versiones fijas de sus bibliotecas (y con suerte entornos virtuales), y al actualizar las dependencias, pruebe cada cambio de versión.



Sencillo.....

Si ha elegido el código de otro lugar (significa que el proyecto no se creó en su PC) ... entonces puede ser una configuración diferente de MIDDLEWARE en la configuración del archivo en su código ..... por lo que debe reemplazar ese MIDDLLEWARE del que produce su django (cree un proyecto desechable-> vaya a los archivos de configuración ---> copie esa parte de MIDDLEWARE y péguela en el proyecto en el que obtiene el error).


Tuve un error similar en mi servidor de producción y, gracias a las migas de pan de centinela, vi que el error que estaba generando tenía que ver con mi configuración, especialmente con ALLOWED_HOSTS.

Django versión 1.10.8 con python 2.7.

Mi configuración anterior:

ALLOWED_HOSTS = [''0.0.0.0'', ''beta.mydomain.co.uk'', ''mydomain.co.uk'', ''www.mydomain.co.uk'', ''alpha.mydomain.co.uk'']

Captura de pantalla de Sentry Breadcrumbs:

Después de eso miré a mi alrededor y encontré esto:

Un valor que comienza con un punto puede usarse como comodín de subdominio: ''.example.com'' coincidirá con example.com, www.example.com y cualquier otro subdominio de example.com.

Enlace a documentos oficiales de Django

Entonces, mi configuración final que resolvió mi problema:

ALLOWED_HOSTS = [''0.0.0.0'', ''mydomain.co.uk'', ''www.mydomain.co.uk'', ''.mydomain.co.uk'']

Espero que esto haya sido útil :)