forms
定义
class ArticleForm(forms.Form):
class Meta:
model = Article
fields = ['title', 'content']
使用
# print(request.POST)
form = MusicForm(request.POST or None, request.FILES or None)
if form.is_valid():
music = form.save(commit=False)
music_file = form.cleaned_data.get('name')
if not is_music_file(music_file):
# 如果文件格式不正确
res["res"] = "error"
res["msg"] = "文件格式不正确"
elif Music.objects.filter(name=music_file):
res["res"] = "error"
res["msg"] = "文件已存在"
else:
music.save()
all_music_album = get_all_music_album_instance()
if isinstance(all_music_album, Album):
all_music_album.musics.add(music)
# 获取专辑id
album_id = request.POST.get('album')
# print(album_id)
if album_id:
album = Album.objects.filter(id=album_id).first()
if album:
album.musics.add(music)
res["res"] = "success"
res["msg"] = "添加成功"
else:
res["res"] = "error"
res["msg"] = "填写内容不符合要求"
更新
question = Question.objects.get(pk=id)
if request.method == 'POST':
form = QuestionForm(request.POST, instance=question)
form.save()
# 另一个示例
# forms.py
# ...
class MyForm(forms.ModelForm):
class Meta:
model = MyModel
# views.py
# ...
def my_view(request, id):
instance = get_object_or_404(MyModel, id=id)
form = MyForm(request.POST or None, instance=instance)
if form.is_valid():
form.save()
return redirect('next_view')
return direct_to_template(request, 'my_template.html', {'form': form}
最后更新于
这有帮助吗?