【发布时间】:2021-12-23 13:20:39
【问题描述】:
我的表单提交不断抛出此错误 Method Not Allowed (POST): /property/like/
<form action="{% url 'property:like-post' %}" method="POST">
{% csrf_token %}
<input type="hidden" name="property_id" value="{{obj.id}}">
{% if request.user not in obj.liked.all %}
<button class="btn love-badge btn-raised btn-wave btn-icon btn-rounded mb-2 white" type="submit"> <i class="mdi mdi-heart-outline"></i></button>
{% else %}
<button class="btn love-badge btn-raised btn-wave btn-icon btn-rounded mb-2 teal" type="submit"> <i class="mdi mdi-heart-outline"></i></button>
{% endif %}
</form>
view.py
def like_property(request):
user = request.user
if request.method == 'POST':
property_id = request.POST.get('property_id')
property_obj = Property.objects.get(id=property_id)
if user in property_obj.liked.all():
property_obj.liked.remove(user)
else:
property_obj.liked.add(user)
like, created = Like.objects.get_or_create(user=user, property_id=property_id)
if not created:
if like.value == 'Like':
like.value == 'Unlike'
else:
like.value = 'Like'
like.save()
return redirect('property:list')
urls.py
app_name = 'property'
urlpatterns = [
path('like/', views.like_property, name='like-post'),
]
对我做错的任何事情的任何见解将不胜感激。
【问题讨论】:
标签: django django-models django-views django-templates