“WSGIRequest”对象没有属性“user”

2024-02-16

我正在尝试在我的 django 项目中创建一个身份验证模块。但是当我打开我的网站网址时出现此错误:“WSGIRequest”对象没有属性“user”

我试图找到有关此问题的信息,有人说问题出在 MIDDLEWARE_CLASSES 中,但我无法理解。

这是我的中间件类:

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

我的项目/admin.py

from django.contrib import admin
from personal_area.models import UserProfile

admin.site.register(UserProfile)

myproject/forms.py

from personal_area.models import UserProfile
from django.contrib.auth.models import User
from django import forms


class UserForm(forms.Model):
    password = forms.CharField(widget=forms.PasswordInput())

    class Meta:
        model = User
        fields = ('username', 'email', 'password')


class UserProfileForm(forms.ModelForm):
    class Meta:
        model = UserProfile
        fields = ('website', 'picture')

myproject/models.py

from django.db import models
from django.contrib.auth.models import User


class UserProfile(models.Model):

    user = models.OneToOneField(User)

    website = models.URLField(blank=True)
    picture = models.ImageField(upload_to='profile_images', blank=True)

    def __unicode__(self):
        return self.user.username

myproject/views.py

from django.shortcuts import render, render_to_response, HttpResponseRedirect, RequestContext
from django.contrib import auth

from personal_area.forms import UserForm, UserProfileForm


def register(request):

    context = RequestContext(request)
    registered = False

    if request.method == 'Post':
        user_form = UserForm(data = request.POST)
        profile_form = UserProfileForm(data = request.POST)

        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save()

            user.set_password(user.password)
            user.save()

            profile = profile_form.save(commit = False)
            profile.user = user

            if 'picture' in request.FILES:
                profile.picture = request.FILES['picture']

            profile.save()
            registered = True

        else:
            print(user_form.errors, profile_form.errors)

    else:
        user_form = UserForm()
        profile_form = UserProfileForm()

    return render_to_response('personal_area/register.html', {'user_form': user_form, 'profile_form': profile_form,
                                                              'registered': registered}, context)

myproject/register.html

{% extends "home/base.html" %}

 {% block auth %}
        <h1>Register with Rango</h1>

        {% if registered %}
        Rango says: <strong>thank you for registering!</strong>
        <a href="/personal_area/">Return to the homepage.</a><br />
        {% else %}
        Rango says: <strong>register here!</strong><br />

        <form id="user_form" method="post" action="/personal_area/register/"
                enctype="multipart/form-data">

            {% csrf_token %}

            {{ user_form.as_p }}
            {{ profile_form.as_p }}

            <input type="submit" name="submit" value="Register" />
        </form>
        {% endif %}
{% endblock %}

这是我的模块的教程:

http://www.tangowithdjango.com/book/chapters/login.html#linking-together http://www.tangowithdjango.com/book/chapters/login.html#linking-together


您的中间件顺序错误。请阅读这部分 https://docs.djangoproject.com/en/dev/ref/middleware/#django.contrib.auth.middleware.SessionAuthenticationMiddleware小心。 顺序应该是:

'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“WSGIRequest”对象没有属性“user” 的相关文章

随机推荐

  • 使用柏林噪声来创造闪电?

    实际上 我有几个与主题标题中给出的主题相关的问题 我已经在我的应用程序中使用 Perlin 函数创建闪电 但我对我的实现并不完全满意 以下问题基于初始和改进的 Perlin 噪声实现 为了简化问题 我们假设我通过使用 1D Perlin 函
  • 我可以有两个 Fancybox 2.0 实例吗?

    我在我的网站上安装了 Fancybox 2 0 稍加修改使其看起来像 Facebook 图像预览框 我想要有 Fancybox 的第二个 实例 但它的定位不同 我的图像预览 Fancybox 当前实例 应距顶部 20 像素 目前 但我的共享
  • 使用 jquery 根据 4 个输入的总和设置数字输入最大值

    我有 4 个输入字段 我需要所有字段的总数不超过 100 我想设置要更改的字段的最大值 我一直在尝试调整 keyup 上的值 然后将其他字段的总和与当前字段的总和相区别并设置最大值 似乎工作了一段时间然后就停止了 JSfiddle 示例 h
  • Docker 添加当前目录中的每个文件

    我有一个简单的 Web 应用程序 我想将其放置在 docker 容器中 角度应用程序存在于frontend 文件夹 该文件夹位于application folder 当 Dockerfile 位于application 文件夹 内容如下 F
  • 有没有一种简单的方法可以从 python 中的无空格句子生成可能的单词列表?

    我有一些文字 s Imageclassificationmethodscan beroughlydividedinto two broad families of approaches 我想将其解析为单独的单词 我很快地研究了附魔和nltk
  • Pytorch 0.4.0:可以通过三种方式在 CUDA 设备上创建张量。他们之间有什么区别吗?

    我第三条路失败了 t3仍在CPU上 不知道为什么 a np random randn 1 1 2 3 t1 torch tensor a t1 t3 to torch device cuda t2 torch tensor a t2 t2
  • 在 php 中为多个图像上传创建缩略图时出错

    我使用以下代码上传 重命名 压缩 创建缩略图一切正常 最近我注意到在创建缩略图时 它还会为以前上传的图像创建缩略图图像的新副本 也为上传的图像创建缩略图 Problem 提交表单后 它会生成用于上传图像和已上传图像 较旧版本中存在的图像文件
  • 无法加载文件或程序集“Oracle.DataAccess”64 位 ODP.NET

    我在用ODP NET在我的 asp net 项目中 以便应用程序能够与 Windows 2008 服务器 32 位 上的 Oracle 11 g Express 进行通信 在开发机器上 我使用的是 Windows 7 32 位 我在开发计算
  • 未找到特征“Spatie\MediaLibrary\HasMedia\HasMediaTrait”

    它显示错误 无法获取 HasMedia 红色字体 的命名空间和 HasMediaTrait 的未定义类 第 16 行 有什么想法吗 None
  • 查找元素彼此相距最远的子集

    我有一个面试问题 我似乎无法弄清楚 给定一个大小为 N 的数组 找到大小为 k 的子集 使得子集中的元素彼此相距最远 换句话说 最大化元素之间的最小成对距离 Example Array 1 2 6 10 k 3 answer 1 6 10
  • 将 HTML 表解析为 CSV 的最佳方法

    我必须从现有网站上获取一些产品数据并将其放入数据库中 数据全部采用 HTML 表格格式 型号是唯一的 但每个产品可以有任意数量的不同属性 因此我需要解析的表格都有不同的列和标题 table tr td Model No td td Weig
  • 在 html 页面上显示命令行输出

    我正在构建一个网络应用程序 它在终端上运行某些命令并将结果显示回网络应用程序上 我能够使用 child process exec 运行命令并获取我面临的问题的结果 同时将其显示在 html 页面上 I want something like
  • ExtJs 4 组合框缺少配置选项hiddenName

    我正在尝试创建一个 ExtJs 版本 4 ComboBox 它将发布 valueField 而不是 displayValue 之前的版本是在 ComboBox 的配置中设置 hiddenName 选项 但我似乎无法在 v 4 或等效版本中找
  • 两个位置之间不显示折线,但显示时间和距离

    注意 抱歉我的英语不好 因为英语不是我的母语 我为此使用了谷歌翻译 我正在开发一个 Android 地图应用程序 用户可以在其中找到朋友的当前位置 为了存储当前位置 我使用 Firebase 实时数据库 在 Lalit Singh 之前的帮
  • 使用php仅从zip文件中检索文件夹名称?

    我正在尝试从 zip 文件中检索文件夹名称 我写了这个简单的函数
  • 在 vscode for Python 中“转到定义”和“转到引用”如何工作?

    vscode会将所有函数 类 变量记录在一个表中 或者 vscode 如何找到定义和引用 我想知道VScode如何构建这个 Go To Definition 功能 这是一个非常复杂的过程 并且有大量与该领域相关的软件工程研究 大多数 IDE
  • Heroku 负责多个数据库服务器?

    当我的用户群增长时 Heroku 是否会为我的 Rails 应用程序设置多个数据库服务器 还是我必须以某种方式手动配置它 换句话说 Heroku 在需要时是否可以良好且正确地扩展 复制服务器 Heroku http www heroku c
  • 使用 Z3 SMT 解决谓词演算问题

    我想使用 Z3 来解决最自然地用原子 符号 集合 谓词和一阶逻辑表达的问题 例如 伪代码 A a1 a2 a3 A is a set B b1 b2 b3 C c1 c2 c3 def p a A b B c C gt Bool p is
  • CodeIgniter 的正确命名结构

    我正在开始我的第一个 CodeIgniter 项目 并希望在开始之前获得一些建议 我对控制器和模型的名称如何工作有点困惑 如果我希望我的公司页面的网址为http example com Company view http example c
  • “WSGIRequest”对象没有属性“user”

    我正在尝试在我的 django 项目中创建一个身份验证模块 但是当我打开我的网站网址时出现此错误 WSGIRequest 对象没有属性 user 我试图找到有关此问题的信息 有人说问题出在 MIDDLEWARE CLASSES 中 但我无法