【发布时间】:2019-02-15 12:21:23
【问题描述】:
我正在尝试向现有模型添加编辑表单,但它不会每次都保存并将我重定向到主页而不是“帐户”页面。我究竟做错了什么?为什么现有模型的变化不可见?任何帮助将不胜感激。
views.py
def account(request):
data_now = datetime.datetime.now().strftime("%Y-%m-%d")
#my form
time = get_object_or_404(Time, pk=52)
if request.method == "POST":
form = TimeEditForm(request.POST, instance=time)
if form.is_valid():
time = form.save(commit=False)
time.save()
return redirect('account')
else:
form = TimeEditForm(instance=time)
context = {'data_now': data_now, 'time_edit_form': form}
return render(request, 'account.html', context)
forms.py
class TimeEditForm(forms.ModelForm):
class Meta:
model = Time
fields = ('compartment',)
labels ={
'free_or_no': 'field name in my language?'
}
models.py
class Time(models.Model):
day_time = models.ForeignKey(DayTime, on_delete=models.CASCADE)
compartment = models.CharField(max_length=11)
free_or_no = models.BooleanField(default=True)
time_equivalent = models.IntegerField()
urls.py
urlpatterns = [
url(r'^$', views.masseur_detail, name='masseur_detail'),
url(r'^account$', views.account, name='account')
]
account.html
<form action="." method="post">
{% csrf_token %}
{{ time_edit_form|crispy }}
<button type="submit" class="btn btn-block btn-primary"> Save</button>
</form>
【问题讨论】:
-
请出示模板。
-
该视图的其余部分在哪里?
-
这里没有任何东西可以将您带到主页。您需要提供更多详细信息。你要去哪个 URL 来查看表格?表格显示正确吗?
-
表格显示正确,但是当你编辑它时,模型没有任何变化。我希望在表单中始终可见的地址,在更改它或在这个地方进行其他活动之后只是'/帐户'我不想在主页上做任何事情。你看到我做错了吗?为什么不保存模型中的更改?
-
对不起,我无法理解“我希望在表单中始终可见的地址,在更改它或在这个地方进行其他活动后只有'/帐户”。