[英]Method Not Allowed(405 POST) in Django
这是我的index.html
:
<form action="{% url 'request:my_shipment' %}" method="POST">
{% csrf_token %}
<input type="submit" value="My shipment"/>
</form>
这是我的urls.py
:
app_name = 'request'
urlpatterns = [
path('', request_views.IndexView.as_view(), name='index'),
path('create_request/', request_views.RequestView.as_view(), name="request"),
path('request/<int:pk>', request_views.UpdateReceiveView.as_view(), name='receive'),
path('my_shipment/', request_views.ListMyShipment.as_view(), name='my_shipment')
]
这是我的views.py
:
class ListMyShipment(ListView):
template_name = 'request/my_shipment.html'
def get_queryset(self):
return models.Shipment.objects.filter(shipper_id=self.request.user.id)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['user_list'] = models.User.objects.all()
context['user_id'] = self.request.user.id
return context
当我单击“ My shipment
按钮时,这是一个响应:
Method Not Allowed (POST): /my_shipment/
我正在使用Django 2.0.5版本
在基于Django类的视图中,您必须编写诸如get,post,put等方法。除非编写了post函数,否则将无法在post方法中调用该视图。
class ListMyShipment(View):
def post(self, request, **kwargs):
#your Code For post, **kwargs, request are not essential
您可以在此处了解有关基于类的视图的更多信息发布方法, 基于类的视图
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.