既に保存されているデータベースからフェッチされた詳細を表示する HTML ページがあります。詳細を編集する必要があり、詳細は古いコンテンツ ID db を置き換える必要があります (つまり、同じフィールドに上書きされます)。私はMySQLデータベースを使用しています。コードを追加しました。フォームを送信すると、データベースに更新されません。このコードが正しいか確認してください。
models.py
class js_details(models.Model):
user = models.ForeignKey(User, unique=True)
#PERSONAL INFO
fname = models.CharField(max_length=30)
contactno = models.IntegerField(max_length=30)
emailid = models.EmailField(max_length=30)
dob = models.IntegerField(max_length=30)
フォーム.py
class EditForm(forms.ModelForm):
class Meta:
model = js_details
exclude = ('user')
ビュー.py
def editresume(request):
user = request.user
profile_info = js_details.objects.filter(user_id=user)
profile_data = { "profile_detail" : profile_info }
if request.method == "POST":
edit = EditForm(request.POST, request.FILES, instance = request.user.get_profile())
if edit.is_valid():
edit.save()
return HttpResponseRedirect('/accounts/Profile/')
else:
edit = EditForm(instance = request.user.get_profile())
return render_to_response('registration/personal_information.html', profile_data, context_instance=RequestContext(request))
個人情報.html
<h4> Personal Details</h4>
<table width="90%" border="0">
<tr>
<td width="30%">
<p> Name </p>
<p> Contact Number </p>
<p> Email ID</p>
<p>DateOfBirth</p>
</td>
<td width="30%">
<p>{% for detail in profile_detail %}{{ detail.fname}} {{ detail.lastname}}{% endfor %}</p>
<p>{% for detail in profile_detail %}{{ detail.pri_contact }}{% endfor %}</p>
<p>{{ user.email }}</p>
<p>{% for detail in profile_detail %}{{ detail.dob }}{% endfor %}</p>
</td>
<td width="30%">
<p><a href="">Edit</a></p>
</td>
</tr>
</table>