1
我似乎無法讓我的形式.is_valid()Django的form.is_valid()沒有驗證
相關視圖
def edit_social_media(request, user_id):
#verify a user is allowed to access the page
# user is saving the form
if request.POST:
form = SocialMediaForm(request.POST)
if form.is_valid():
...
return HttpResponseRedirect(reverse(users.profile,
args = (request.user.id,)))
# displaying the initial form
else:
try:
form = SocialMediaForm(instance = SocialMedia.objects.get(user = request.user))
except SocialMedia.DoesNotExist:
form = SocialMediaForm()
return render_to_response('users/edit_social_media.html', {'form': form, 'user' : user},
context_instance = RequestContext(request))
Forms.py
class SocialMediaForm(forms.ModelForm):
class Meta:
model = SocialMedia
fields = {'twitter', 'facebook', 'linkedin'}
驗證
模板
<form method="post" action=''>
{% csrf_token %}
<div class="form-col-left">
<p>
{{ form.as_p }}
</p>
</div>
<div class="submitbutton">
<input type="submit" class="green button" value="Save Social Media Settings" />
</div>
</form>
模型
from django.db import models
from django.contrib.auth.models import User
class SocialMedia(models.Model):
class Meta:
app_label = 'dashboard'
#the user associated with the data
user = models.ForeignKey(User)
#Twitter, Facebook, and Linkedin pages
twitter = models.URLField("Twitter")
facebook = models.URLField("Facebook")
linkedin = models.URLField("Linkedin")
一些幫助將不勝感激。我對django比較陌生,所以我錯過了一些細小的細微差別。我發現了一些與綁定vs未綁定表單有關的stackoverflow類似的問題,但是從閱讀文檔我認爲我正確地將數據綁定到表單。
我已編輯添加關聯的model.py。 form.instance.user = self.request.user似乎沒有解決這個問題。 – user2562438
你確定你正在填寫所有領域?如果是的話,你在頁面上發現了什麼錯誤? –
表單字段?我相當肯定我正在填補他們。雖然模型也有用戶領域,但我相信我們已經解決了這個問題。 我沒有收到錯誤。我有一個if語句設置,如果form.is_valid()渲染一個頁面,否則渲染一個不同的頁面。 我可以提供哪些信息以提供更多幫助? – user2562438