Как я могу сделать форму обновления без modelForm?
Я сделал форму обратной связи, где люди могут поделиться своим мнением. Затем я создал форму обновления, используя HTML. Какими будут мнения для def UpdateFeedback()
? Я перепробовал много способов, но не смог добиться идеального результата. Пожалуйста, помогите мне...
Примечание: Форма FeedBack и UpdateFeedback будут находиться на одной странице.
views.py:
def feedBack(request,quick_view_id):
quick_view = get_object_or_404(Products, pk=quick_view_id)
if request.method == "POST" and request.user.is_authenticated:
try:
ProductREVIEWS.objects.create(
user=request.user,
product=quick_view,
feedBACK=request.POST.get('feedBACK'),
)
return redirect('quick_view', quick_view_id)
except:
return redirect('quick_view', quick_view_id)
else:
return redirect('quick_view', quick_view_id)
def UpdateFeedback():
What will be the relevant code here?
models.py:
class ProductREVIEWS(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='userREVIEW',on_delete=models.CASCADE)
product = models.ForeignKey(Products, related_name='productREVIEWrelatedNAME',on_delete=models.CASCADE)
feedBACK = models.TextField(blank=True, null=True)
urls.py:
path("feedBack/<int:quick_view_id>/", views.feedBack, name="feedBack"),
Обновление html-формы обратной связи:
<form action="{% url 'feedBack' quick_view_id=quick_view.id %}" method="POST" autocomplete="off">
{% csrf_token %}
<select name="UpdateRating" style="font-size: 13px;" id="UpdateRating" class="form-control">
<option value="{{feedBack.rating}}" style="font-size: 13px;">{{feedBack.rating}}</option>
<option value="1" style="font-size: 13px;">1</option>
<option value="2" style="font-size: 13px;">2</option>
</select>
<textarea id="UpdateFeedBack" rows="6" style="font-size: 13px;" class="form-control" name="UpdateFeedBACK" value="" required>{{feedBack.feedBACK}}
<button type="submit" class="btn ms-auto btn-success" style="font-size: 13px;">Update</button>
</form>