• 1400/11/30

فارسی شدن error_message در فرم ها :

سلام بر آقای اردوخانی عزیز 
سلام بر رفقا

وقتی در فرم ها، مثلا برای خطای required ، مقدار " نام و نام خانوادگی الزامی است " را در نظر میگیرم، تغییری در پژوژه ام ایجاد نمیشود و همان پیغام انگلیسی پیش فرض، یعنی "Please fill out this field" را نمایش میدهد. 

حتی با پاک کردن attribute required در تگ html  که با inspect، مشکل برطرف نمیشود و پیغامی که من تنظیم کرده ام را نمایش نمیدهد. 

حتی با در نظر گرفتن 'fa-IR'  برای LANGUAGE_CODE  در فایل setting، مشکل حل نمیشود. 

  • 1400/11/30
  • ساعت 15:29

سلام خدمت شما دوست عزیز

کد مربوط به فرم و view و html رو ارسال کنید دوست من


  • 1400/11/30
  • ساعت 17:52
#forms.py
from cProfile import label
from dataclasses import fields
from tkinter import Widget
from django import forms

from .models import CantactUs


class ContactUsForm(forms.Form):
    full_name = forms.CharField(
        label='نام و نام خانوادگی',
        max_length=50,
        error_messages={
            'required': 'لطفا نام و نام خانوادگی خود را وارد نمایید',
            'max_length': 'نام و نام خانوادگی از حد مجاز بالاتر است'
        },
        widget=forms.TextInput(attrs={
            'class' : 'form-control',
            'placeholder' : 'نام و نام خانوادگی'
        }))
    email = forms.EmailField(
        label='ایمیل', 
        widget=forms.EmailInput(attrs={
            'class' : 'form-control',
            'placeholder' : 'ایمیل'
        }
        ))
    title = forms.CharField(
        label='عنوان', 
        widget=forms.TextInput(attrs={
            'class' : 'form-control',
            'placeholder' : 'موضوع'
    }))
    message = forms.CharField(
        label = 'متن پیام',
        widget=forms.Textarea(attrs={
            'class' : 'form-control',
            'id' : 'message',
            'placeholder' : 'پیغام شما',
            'rows' : '5',
            'cols' : '40'
        }))

class ContactUsModelForm(forms.ModelForm):
    class Meta:
        model = CantactUs
        fields = ['full_name', 'title', 'email', 'message']
        widgets = {
            'full_name' :forms.TextInput(attrs={
                'class' : 'form-control',
                'placeholder' : 'نام و نام خانوادگی'
            }),
            'title' :forms.TextInput(attrs={
                'class' : 'form-control',
                'placeholder' : 'عنوان'
            }),
            'email' :forms.EmailInput(attrs={
                'class' : 'form-control',
                'placeholder' : 'ایمیل'
            }),
            'message' :forms.Textarea(attrs={
                'class' : 'form-control',
                'placeholder' : 'متن پیام',
                'rows' : '5',
                'id' : 'message'
            })
        }
        error_messages = {
            'full_name' : {
                'required' : 'لطفا نام و نام خانوادگی را وارد نمایید. الزامیست'
            }
        }
#views.py
from multiprocessing import context
from django.urls import reverse
from urllib import request
from django.shortcuts import redirect, render
from .forms import ContactUsForm, ContactUsModelForm
from .models import CantactUs

# Create your views here.

def contact_us(request):
    if request.method == 'POST':
        # contact_form = ContactUsForm(request.POST)
        contact_form = ContactUsModelForm(request.POST)
        if contact_form.is_valid():
            contact = CantactUs(
                title = contact_form.cleaned_data.get('title'),
                full_name = contact_form.cleaned_data.get('full_name'),
                email = contact_form.cleaned_data.get('email'),
                message = contact_form.cleaned_data.get('message')
            )
            contact.save()
            return redirect('home_page')
    
    # contact_form = ContactUsForm()
    contact_form = ContactUsModelForm()

    context = {
        'contact_form' : contact_form
    }
    return render(request, 'contact_module/contact_us.html', context)
#contact_us.html
{% extends 'shared/_layout.html' %}
{% block title %}ocntact-us page{% endblock title %}
{% block content %}
<div id="contact-page" class="container">
    <div class="bg">
        	
        <div class="row">  	
            <div class="col-sm-8">
                <div class="contact-form">
                    <h2 class="title text-center">با ما در ارتباط باشیـد</h2>
                    <div class="status alert alert-success" style="display: none"></div>
                    <form id="main-contact-form" class="contact-form row" name="contact-form" acition="{% url 'contact_us' %}" method="post">
                        {% csrf_token %}
                         <div class = "form-group col-md-6" >
                            {{contact_form.email.label_tag}}
                            {{contact_form.email}}
                            {{contact_form.email.errors}}
                        </div >
                        <div class = "form-group col-md-6">
                            {{contact_form.full_name.label_tag}}
                            {{contact_form.full_name}}
                            {{contact_form.full_name.errors}}
                        </div >
                        <div class = "form-group col-md-12" >
                            {{contact_form.title.label_tag}}
                            {{contact_form.title}}
                            {{contact_form.title.errors}}
                        </div >
                        <div class = "form-group col-md-12" >
                            {{contact_form.message.label_tag}}
                            {{contact_form.message}}
                            {{contact_form.message.errors}}
                        </div >  
                        
                        

                        {% comment %} <div class="form-group col-md-6">
                            <input type="text" name="fullname" class="form-control" placeholder="نام">
                        </div>
                        <div class="form-group col-md-6">
                            <input type="email" name="email" class="form-control" placeholder="ایمیـل">
                        </div>
                        <div class="form-group col-md-12">
                            <input type="text" name="subject" class="form-control" placeholder="موضـوع">
                        </div>
                        <div class="form-group col-md-12">
                            <textarea name="message" id="message" class="form-control" rows="8" placeholder="پیغـام شمـا"></textarea>
                        </div>                          {% endcomment %}
                        <div class="form-group col-md-12">
                             {% comment %} <input type="submit" name="submit" class="btn btn-primary pull-right" value="ارسـال">   {% endcomment %}
                            <button type= "submit" class="btn btn-primary pull-right">ارسال</button>
                        </div> 
                    </form>
                </div>
            </div>


            <div class="col-sm-4">
                <div class="contact-info">
                    <h2 class="title text-center">اطلاعات تماس</h2>
                    <address>
                        <p>گـروه تکنوگـرافی 1614</p>
                        <p>ایـران - آذربایجـان غربـی - خـوی</p>
                        <p>مجتـمع تجـاری تفریحـی شمس - طبـقه 2 - پلاک 54</p>
                        <p>تلفن تماس : 80 21 24 36 044</p>
                        <p>فکس : 80 21 24 36 044</p>
                        <p style="font-family: tahoma;">ایمیـل : info@1614GP.ir</p>
                    </address>
                </div>
            </div>    			
        </div>  
    </div>	
</div>
{% endblock content %}

  • 1400/12/01
  • ساعت 00:06

در قسمت terminal با خطایی مواجه نمیشین هنگام اجرا و ارسال اطلاعات؟


  • 1400/12/02
  • ساعت 10:49

برنامه رو از اول ران کردی و بعد وقتی صفحه بازش شد توی مرورگر کنترل اف پنج زدی؟


  • 1401/01/08
  • ساعت 03:18

سلام استاد اردوخانی 

منم متاسفانه به همین مشکل خوردم اگر ممکنه راهنمایی بفرمایید.


  • 1401/01/09
  • ساعت 22:18

این نکته رو در نظر بگیرین دوست من که ما client validation رو پیاده سازی نکردیم و اینکه متن خطا در حالت عادی انگلیسی هستش طبیعیه