• 1402/03/05

حذف نشدن value از مدل فرم :

سلام 
من یک مدل فرم دارم که باهاش title و text رو از کاربر درخواست کردم

حالا وقتی میاد تو صفحه html مقدار پیشفرض برای input میزاره
البته فقط برای title ، اتربیوت value رو با مقدار "بدون نام" فعال میکنه ، تو فایل فرم هم خیلی کار ها کردم ، مقدار value رو دوباره هم بهش داد ولی بازم به صورت پیشفرض بدون نام رو خودش تو title میزاره

  • 1402/03/06
  • ساعت 17:55

سلام دوست من

لطفا کدهای فایل views و forms و همینطور html رو ارسال کنین


  • 1402/03/06
  • ساعت 23:39

کدهای فایل forms

class CommentsForm(forms.ModelForm):
    class Meta:
        model = Comment_l
        fields = ['title', 'text']
        widgets = {
            'title' : forms.TextInput(attrs={
                'class' : 'form',
                'placeholder' : 'عنوان',
            }),
            'text' : forms.Textarea(attrs={
                'class' : 'form',
                'placeholder' : 'نظر خود را بنویسید'
            })
        }

        labels = {
            'title' : 'عنوان نظر خود را وارد کنید',
            'text' : 'متن نظر خود را وارد کنید'
        }


کدهای views

lass LearningCommentsForm(FormView):
    template_name = 'home/comments_form.html'
    form_class = CommentsForm
    success_url = f'/learning/'

    def get_success_url(self):
        slug = self.kwargs['slug']
        self.success_url = f'/Learning/{slug}'
        return self.success_url

    def get_context_data(self, **kwargs):
        context = super(LearningCommentsForm, self).get_context_data(**kwargs)

        context['title'] = Learning.objects.get(page_name=self.kwargs['slug']).title
        context['slug'] = self.kwargs['slug']

        return context

    def form_valid(self, form):
        Comment_l = form.save(commit=False)
        Comment_l.post = Learning.objects.get(page_name=self.kwargs['slug'])
        Comment_l.save()
        return super().form_valid(form)

کدهای html

{% load static %}<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>comment form</title>
    <link rel="stylesheet" href="{% static 'home/comments/style.css' %}">
</head>
<body>

<header>
    <h1>نظرات خود را با ما در میان بگلذارید</h1>
    <h1 style="border-bottom-left-radius: 100px;border-bottom-right-radius: 100px">نظر شما در باره مقاله{{ title }}</h1>
</header>

<form action="{% url 'learning_comment' slug=slug %}" method="post">
{% csrf_token %}
{{ form.title.label_tag }}<br>
{{ form.title }}<br>
{{ form.title.errors }}<br>
<br>
{{ form.text.label_tag }}<br>
{{ form.text }}<br>
{{ form.text.errors }}<br>

<button type="submit" id="submit">
    ثبت
</button>
</form>
</body>
</html>

 


  • 1402/03/08
  • ساعت 21:54

احساس میکنم مشکل از context باشه

لطفا نام مقداری که در contexy ارسال کردین رو از title تغییر بدین و از نام دیگه ای استفاده کنین

احتمالا تشابه اسمی باعث این مشکل شده باشه