第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

添加評(píng)論表單 Django

添加評(píng)論表單 Django

我正在嘗試向我的topics.html 頁(yè)面添加一個(gè)表單,以便用戶可以提交評(píng)論。當(dāng)用戶提交評(píng)論時(shí),我想顯示發(fā)表評(píng)論的人以及時(shí)間和日期(見(jiàn)圖)當(dāng)我提交數(shù)據(jù)時(shí),我收到以下錯(cuò)誤:我相信這與我沒(méi)有指定發(fā)布評(píng)論的用戶有關(guān)。而且我沒(méi)有傳遞用戶發(fā)布的當(dāng)前主題。視圖.pyfrom django.shortcuts import renderfrom django.http import HttpResponseRedirect, Http404from django.urls import reversefrom django.contrib.auth.decorators import login_requiredfrom comments.models import Commentfrom .models import Category, Entry, Topicfrom .forms import CategoryForm, TopicForm, EntryForm, CommentFormdef topic(request, entry_id):    """Show entry for single topic"""    topic = Topic.objects.get(id=entry_id)    entries = topic.entry_set.all()    comments = Comment.objects.all()    if request.method != 'POST':        # No comment submitted        form = CommentForm()    else:        # Comment posted        form = CommentForm(data=request.POST)        if form.is_valid():            new_comment = form.save(commit=False)            new_comment.user = request.user            form.save()            return HttpResponseRedirect(reverse('blogging_logs:topic'))    context = {'topic': topic, 'entries': entries, 'comments': comments, 'form': form}    return render(request, 'blogging_logs/topic.html', context)表格.pyclass CommentForm(forms.ModelForm):    class Meta:        model = Comment        fields = ['content']        labels = {'text': ''}        widgets = {'text': forms.Textarea(attrs={'cols': 80})}評(píng)論應(yīng)用程序:model.pyfrom django.db import modelsfrom django.conf import settingsfrom blogging_logs.models import Topic# Create your models here.class Comment(models.Model):    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, on_delete=models.CASCADE)    topic = models.ForeignKey(Topic, on_delete=models.CASCADE)    content = models.TextField()    date_added = models.DateTimeField(auto_now_add=True)    def __str__(self):        return str(self.content)
查看完整描述

1 回答

?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

您的 Comment 模型具有 Topic 的外鍵,并且您沒(méi)有指定它允許為空。然后你有一個(gè)表單,它通過(guò)在“內(nèi)容”字段中放置一些東西來(lái)創(chuàng)建 Comment 實(shí)例。根據(jù)定義,這意味著您的主題字段為空或 null,這是不允許的。只需像添加用戶一樣添加它,即


new_comment = form.save(commit=False)

new_comment.user = request.user

new_comment.topic = topic

form.save()


查看完整回答
反對(duì) 回復(fù) 2021-06-09
  • 1 回答
  • 0 關(guān)注
  • 121 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)