我正在嘗試在 Django 中創(chuàng)建評論表單。我已經(jīng)呈現(xiàn)了表單,但我希望表單顯示當(dāng)前登錄用戶的名稱,以便我能夠?qū)⒚總€評論與用戶相關(guān)聯(lián)。這是我的模型:class Review(models.Model): company = models.ForeignKey(Company, null=True, on_delete=models.SET_NULL) # SET_NULL ensures that when a company is deleted, their reviews remains reviewers_name = models.CharField(max_length=250, verbose_name='Reviewed By: (Your Name)') review_text = models.TextField(max_length=500, verbose_name='Your Review: (Maximum of 200 Words)') rating = Int_max.IntegerRangeField(min_value=1, max_value=5) date_added = models.DateField('Review Date', auto_now_add=True)這是我的觀點:def submit_review(request): form = ReviewForm() if request.method == 'POST': form = ReviewForm(request.POST) if form.is_valid: form.save() # gets the company that was immediately submitted in the review form company = request.POST.get('company') # gets the rating that was immediately submitted in the review form rating = request.POST.get('rating') # uses the name of the company submitted to instantiate the company from the Company database companyone = Company.objects.get(pk=company) """ emloys companyone above to retrieve already existing average rating associated with it adds this to the current rating sent by the user and stores the total back to the average rating field of companyone """ companyone.average_rating = round((int(rating) + int(companyone.average_rating))/2) companyone.save() return redirect('review-submitted') context = { 'form': form } return render(request, 'submit-review.html', context)這是呈現(xiàn)的形式:class ReviewForm(ModelForm): class Meta: model = Review fields = '__all__'
1 回答

慕森卡
TA貢獻(xiàn)1806條經(jīng)驗 獲得超8個贊
在模板中,
{% if user.is_authenticated %}
<p>{{ user.get_username }} </p>
{% endif %}
在觀點中,
request.user.get_username()
添加回答
舉報
0/150
提交
取消