我創建了表單并將其添加到視圖中,我必須如何將它添加到 html 表單中?
索引.html
<form action="." method="post">
{{ form.as_p }}
{% csrf_token %}
<p><input type="submit" value="Add comment"></p>
</form>
<h1 style="margin:0 57%">Reviews</h1>
<input type="hidden" name="parent" id="contactparent" value="">
<div class="dfv" style="display:flex; padding: 5%; justify-content: space-around; flex-wrap: wrap;align-items:center; box-shadow:4px 4px 16px gold;width: 80%;margin:8% 18% 0">
<div class="form-group editContent">
<label for="contactcomment" class="editContent" placeholder=" Message" >
Your reviews *
</label>
視圖.py
class AddReview(View):
"""Отзывы"""
def post(self, request,pk):
form = ReviewForm(request.POST,)
if form.is_valid():
form = form.save(commit=False)
#form.Dish = Dish
form.save()
review = Reviews.objects.all()
return render(request,'index.html',{'Reviews':review})
表單.py
class ReviewForm(ModelForm):
class Meta:
model = Reviews
fields = ('name', 'email', 'text')
urls.py
path("review/<int:pk>/", AddReview.as_view(), name='add_review'),
請求未找到。請求網址: http: //127.0.0.1 :8000/{url 'add_review' dish.id}
在此處輸入代碼
在此處輸入代碼
uj5u.com熱心網友回復:
關于如何將表單添加到 HTML 的原始問題的答案是將表單放入發送到模板的背景關系中:
{'form': form, 'Dish': dish, 'Snack': snack, 'Desserts': desserts, 'Lastcourses': lastcourses, 'Reviews': reviews}
現在剩下的。這是在您對代碼進行所有更改之前我所擁有的。我認為問題在于您在同一個視圖中將基于函式的視圖與基于類的視圖混合在一起。其次,當您需要在同一視圖中處理兩者時,您正在處理 get或post。
class DishView(View):
form_class = ReviewForm
template_name = 'index.html'
def get(self, request, *args, **kwargs):
form = self.form_class()
return render(request, self.template_name, {'form': form})
def post(self, request, *args, **kwargs):
form = self.form_class(request.POST)
if form.is_valid():
form = form.save(commit=False)
form.name = request.name
form.text = request.text
form.save()
return redirect(self.path)
return render(request, self.template_name, {'form': form})
我還認為您的表單標記有誤。如果您希望將表單提交回同一視圖,則不要使用".". 您可以省略操作:
<form method="post">
<!-- OR -->
<form action="" method="post">
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/533960.html
標籤:网页格式姜戈网络
上一篇:如何洗掉導航欄和下一部分之間的小空白區域?如何洗掉懸停選擇器上的小灰色區域?
下一篇:頁面大于需要的問題;反應.js
