Ich möchte mein Benutzerprofil Daten aktualisieren.Aber wenn dieser Fehler 'Funktion' Objekt hat kein Attribut 'as_view'.Warum zeigen diese Fehler 'Funktion' Objekt hat kein Attribut 'as_view'
ich Django bin mit 1.8, Python 2.7
Ich bin neu in Django.
urls.py Code:
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))
models.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 %}
Ihre Klassen prüfen es ist wahrscheinlich, dass Sie 'def' statt' CLASS' irgendwo in eine deiner Dateien – Pythonista
Können Sie bitte den gesamten Traceback posten? Vielen Dank. – mariodev