Django:执行发布请求时找不到页面404错误

时间:2020-05-25 03:32:51

标签: python django django-models django-views django-urls

我有一个使用两个外键的模型。其中一个是登录用户,另一个用于继承帖子。但是帖子外键不起作用或无法保存到数据库中,但是应该保存用户选择的特定帖子或使用pk。

这是我的模型。py:

class Booking(models.Model):
    b_price =  models..ManyToManyField(price, related_name='b_price',on_delete=models.CASCADE,null=True)
    user = models.ForeignKey(User, on_delete=models.CASCADE,  null=True, default='')
    approved_price = models.BooleanField(default=False)
    pay = models.CharField(max_length=30, default='')
    mode = models.CharField(max_length=30 ,default='')

def __str__(self):
    return str(self.user)

这是我的views.py:

class booking_approve(CreateView, LoginRequiredMixin):
    form_class = forms.booking_form
    model = Booking
    template_name = "confirm_booking.html"
    success_url = reverse_lazy("Loader:post")

def form_valid(self, form):
    booking = get_object_or_404(Booking, pk=self.kwargs.get('pk'))
    print(form.cleaned_data)
    bk = form.save(commit=False)
    bk.user = self.request.user
    bk.save()
    bk.b_price.add(booking)
    return super().form_valid(form)

这是我的urls.py:

path('confirm_booking/<int:pk>/booking',views.booking_approve.as_view(), name="booking_approve"),

这是我传递pk的HTML页面:

{% for loader_post in request.user.Loader.all %}
  {% for price in loader_post.prices.all %}


    {{loader_post.image_of_load.url }}
    Post id : {{loader_post.id }}
    Driver offer : {{price.driver_price }}
    Offer by : {{price.driver_name }}
    <a style="margin-right:20px;" href="{% url 'Loader:booking_remove' price.id %}"></a>
    <a href="{% url 'Loader:booking_approve' pk=price.pk %}"><</a>
</div>
</div>
{% endfor %} {% endfor %} {% endblock content %}

这是我的帖子图片。当我单击对勾按钮时,将显示下一个表单,但它也应带有帖子的ID,但不会。

my post

这是pk的错误:

error page

0 个答案:

没有答案