gpt4 book ai didi

python - 为什么显示此错误 'function' 对象没有属性 'as_view'

转载 作者:行者123 更新时间:2023-12-01 04:00:19 24 4
gpt4 key购买 nike

我想更新我的用户配置文件数据。但是运行时出现此错误“function”对象没有属性“as_view”。

我使用的是 Django 1.8,python 2.7

我是 Django 新手。

urls.py代码:

from django.conf.urls import include, url
from . import views
urlpatterns = [

url(r'^(?P<pk>\d+)/$',
views.UserProfileDetail.as_view(),
name='user_profile_detail'),
url(r'^(?P<pk>\d+)/update/$',
views.UserProfileUpdate.as_view(),
name='user_profile_edit'),
]

views.py:

from django.shortcuts import render
from blog.models import Post, UserProfile
from blog.forms import UserForm, UserProfileForm, PostForm
from django.contrib.auth.models import User
from django.views.generic import DetailView
from django.views.generic import CreateView, UpdateView
from .models import UserProfile

class UserProfileDetail(DetailView):
model = UserProfile

@login_required
class UserProfileUpdate(UpdateView):
model = UserProfile
fields = ('name', 'website',)

def get(self, request, *args, **kwargs):
UserProfile(kwargs['pk'])
return (super(UserProfileUpdate, self).
get(self, request, *args, **kwargs))

模型.py

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

class UserProfile(models.Model):
user = models.OneToOneField(User)

name = models.CharField(max_length=30)
website = models.URLField(blank=True)

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

html:

{% extends 'blog/base.html' %}
{% block content %}
<h2>Edit {{ object.user.username }} Profile</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Update" />
</form>
{% endblock %}

最佳答案

你不能在这样的类上使用login_required装饰器。您需要使用method_decorator。在 Django 1.9+ 上,您可以修饰类:

from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator

@method_decorator(login_required, name='dispatch')
class UserProfileUpdate(UpdateView):
model = UserProfile
fields = ('name', 'website',)

另请查看此处 Django/python: 'function' object has no attribute 'as_view' @Alasdair 给出了一个例子和解释

关于python - 为什么显示此错误 'function' 对象没有属性 'as_view',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36680358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com