Django 如何在没有纵断面创建视图的情况下创建纵断面更新视图?
在这里,我试图创建配置文件更新视图,我没有在我的views.py中使用配置文件创建视图,因为我是通过信号创建配置文件的,所以我不需要配置文件创建视图,但我需要更新视图,以便用户可以更新其配置文件,我在/profiles/profiles/admin/1处收到一个错误ValueError/ view profiles.views.ProfileUpdateView未返回HttpResponse对象。它没有返回任何结果。我不知道如何修复它,下面是我的代码,如果您认为我的做法非常不专业,请让我知道,并告诉我更专业的做法 views.pyDjango 如何在没有纵断面创建视图的情况下创建纵断面更新视图?,django,django-models,django-views,django-forms,django-templates,Django,Django Models,Django Views,Django Forms,Django Templates,在这里,我试图创建配置文件更新视图,我没有在我的views.py中使用配置文件创建视图,因为我是通过信号创建配置文件的,所以我不需要配置文件创建视图,但我需要更新视图,以便用户可以更新其配置文件,我在/profiles/profiles/admin/1处收到一个错误ValueError/ view profiles.views.ProfileUpdateView未返回HttpResponse对象。它没有返回任何结果。我不知道如何修复它,下面是我的代码,如果您认为我的做法非常不专业,请让我知道,并
class ProfileUpdateView(UpdateView):
refirect_field_name ='profiles:final_detail'
form_class = UserUpdateForm
model = UserProfile
def get_context_data(self, *args, **kwargs):
context = super(ProfileUpdateView, self).get_context_data(*args, **kwargs)
update_form = UserUpdateForm(instance = self.request.user)
context['form']=update_form
return context
def form_valid(self,form):
form.save()
url.py
app_name = 'profiles'
urlpatterns = [
path('final/<str:username>/',FinalProfileDetailView.as_view(),name = 'final_detail'),
path('profiles/<str:username>/<int:pk>/',ProfileUpdateView.as_view(),name = 'update'),
]
form.py
class UserUpdateForm(forms.ModelForm):
email = forms.EmailField(required=False)
class Meta:
model = get_user_model()
fields = ["username","email"]
user_update.html
<form method="post">{% csrf_token %}
{{form.as_p}}
<button type="submit" >save</button>
</form>
{%csrf\u令牌%}
{{form.as_p}}
拯救
如果需要更多的代码或信息,而不是在评论会话中告诉我,我将用这些信息更新我的问题。谢谢大家! 请共享
UserProfile
模型。@WillemVanOnsem我刚刚共享了您现在可以看到的内容。请共享UserProfile
模型。@WillemVanOnsem我刚刚共享了您现在可以看到的内容
<form method="post">{% csrf_token %}
{{form.as_p}}
<button type="submit" >save</button>
</form>