관리자 페이지에서 데이터베이스에 추가 할 수 있지만 템플릿의 양식이 저장되지 않습니다. 양식을 제출하려고하면 양식이 새로 고쳐집니다.
견해:
def newPost(request):
if request.method == 'POST':
form = NewPost(request.POST)
if form.is_valid():
form.save()
return redirect('myposts')
else:
form = NewPost()
return render(request, 'create/new_post.html', {'title_page': 'New Post', 'form': form})
주형:
<form method="POST" class="input_group" action="" enctype="multipart/form-data">
{% csrf_token %}
{{ form }}
<div class="submit_container">
<input class="submit_btn" type="submit" value="Submit">
</div>
</form>
형태:
class NewPost(forms.ModelForm):
title = forms.CharField(widget=forms.TextInput(attrs={'class': 'form_input_text'}))
product = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form_input_select'}), choices=PRODUCT_CHOICES)
caption_description = forms.CharField(max_length=1000, widget=forms.Textarea(attrs={'class': 'form_input_text', 'style':'resize:none;', 'rows': '3'}))
full_description = forms.CharField(max_length=2000, widget=forms.Textarea(attrs={'class': 'form_input_text', 'style':'resize:none;'}), required=False)
links = forms.CharField(max_length=2000, widget=forms.Textarea(attrs={'class': 'form_input_text', 'style':'resize:none;'}), required=False)
release_date = forms.DateField(widget=forms.SelectDateWidget(attrs={'class': 'form_input_select_date'}, years=YEARS, empty_label="---"), required=False)
display_image = forms.ImageField(widget=forms.ClearableFileInput(attrs={'class': 'form_img_btn'}))
은 ImageField
물론 필요하지만 당신은을 통과하지 못한 request.FILES
따라서 형태는 어떤 이미지를 수신하지 않으며, 따라서 어떤 이미지를 제출하지 않은 가정 결코, 양식.
request.POST
및 request.FILES
양식에 모두 전달해야합니다 .
def newPost(request):
if request.method == 'POST':
# pass request.FILES ↓
form = NewPost(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('myposts')
else:
form = NewPost()
return render(request, 'create/new_post.html', {'title_page': 'New Post', 'form': form})
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다