0
我有這行代碼在models.pyValueError異常在/資料/ Django的:沒有返回HttpResponse對象
@login_required
def user_profile(request):
if request.method == 'POST':
form = UserProfileForm(request.POST, instance=request.user.profile)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/loggedin')
else:
user = request.user
profile = user.profile
form = UserProfileForm(instance=profile)
args = {}
args.update(csrf(request))
args['form'] = form
return render(request, 'profile.tml', args)
和forms.py
from django import forms
from models import UserProfile
class UserProfileForm(forms.ModelForm):
class Meta:
model = UserProfile
fields = ('address', 'contactnos')
在我的loggedIn html的
{% extends 'base.html' %}
{% block content %}
<h2> Hi {{ full_name }} you are logged in!</h2>
<p>click <a href="/accounts/logout/">here</a> to logout. </p>
<p>Click <a href="/profile/">here</a> to edit your profile info </p>
{% endblock %}
的錯誤是說:
ValueError at/profile/ 視圖userprofile.views.user_profile未返回HttpResponse對象。
配置文件頁面顯示'request.method!='POST'是什麼時候使用..但它不會保存一個值,並再次發生相同的錯誤。 –
Sachi當前的代碼不會顯示該行爲。請嘗試再次發佈您的代碼。你的'user_profile'視圖當前在'GET'上返回'None',並且總是在'POST'上返回一個響應。 –
它應該使用'POST'方法保存值,如果表單有效並重定向到'loggedin.html'。當用戶再次編輯配置文件時,舊值應填充表單。對不起,我剛剛在一週前學習了Django。 –