urls.pyapp_name = 'Loader'urlpatterns = [ path('post_detail/', views.Loader_post_view.as_view(), name="post_detail"), path('post/', views.post.as_view(), name="post"), path('my_job/', views.Loader_post_list.as_view(), name="my_job"), path('delete/<int:pk>', views.Loader_post_delete.as_view(), name="Delete"), path('update/<int:pk>', views.Loader_post_update.as_view(template_name="post_detail.html"), name="Update")] 這是我 models.pyclass Loader_post(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="Loader") pick_up_station = models.CharField(max_length=150) destination_station = models.CharField(max_length=150) sender_name = models.CharField(max_length=150) phone_number = PhoneNumberField(null=False, blank=False, unique=True) receiver_name = models.CharField(max_length=150) sending_item = models.CharField(max_length=150) #image_of_load = models.ImageField(default='',upload_to='static/img') weight = models.CharField(max_length=150) metric_unit = models.CharField(max_length=30, default='') quantity = models.PositiveIntegerField() pick_up_time = models.DateField() drop_time = models.DateField() paid_by = models.CharField(max_length=150) created_at = models.DateTimeField(auto_now=True) published_date = models.DateField(blank=True, null=True)def __str__(self): return self.user.usernamedef get_absolute_url(self): return reverse("Loader:post", kwargs={'pk': self.pk})如果我的 views.pyclass Loader_post_view(CreateView,LoginRequiredMixin): form_class = forms.Loader_post_form model = Loader_post template_name = "post_detail.html"def form_valid(self, form): print(form.cleaned_data) self.object = form.save(commit=False) self.object.user = self.request.user self.object.save() return super().form_valid(form)現在我的問題是,當我點擊提交它顯示錯誤和有時當我把'post'通過替換self,它將工作正常'pk':self.pk但是,如果新用戶登錄并嘗試發布它不會存儲到數據庫中的數據,請幫助我找出這個錯誤
1 回答

寶慕林4294392
TA貢獻2021條經驗 獲得超8個贊
您的網址沒有網址參數。您需要添加一個:postpk
app_name = 'Loader'
urlpatterns = [
path('post_detail/', views.Loader_post_view.as_view(), name="post_detail"),
path('post/<int:pk>', views.post.as_view(), name="post"),
path('my_job/', views.Loader_post_list.as_view(), name="my_job"),
path('delete/<int:pk>', views.Loader_post_delete.as_view(), name="Delete"),
path('update/<int:pk>', views.Loader_post_update.as_view(template_name="post_detail.html"),
name="Update")
]
添加回答
舉報
0/150
提交
取消