Django-fr

Forum

#1 07-01-2015 23:13:36

lebordeluche
Membre
Inscription : 07-01-2015
Messages : 3

Super débutant et problème utf8

Bonsoir

Je suis en train d'apprendre Django en auto apprentissage et j'ai un pb avec les codages utf8

J'en suis aux models et je renconte un problème dans l'interface d'admin avec les champs ou il y a des accents

Apres recherches et test divers 'u' %s ()... , j'ai trouvé que smart_text etait adapté

j'ai donc fait un import de smart_text dans les modeles et tout allait bien jusqu'au 4eme champs,l'ajout d'un 5eme champ (Commune) génére une erreur  "smart_text() takes at most 4 arguments (5 given)"

Je me dis donc qu'il doit y avoir un moyen plus intelligent que smart_text et compte sur vous pour une explication.

Voici le modele


class Etablissement (models.Model):
    Nom = models.CharField(max_length=100)
    Categories = models.ManyToManyField('Categorie')
    Description = models.TextField(null=True,blank=True)
    Marques = models.TextField(null=True,blank=True)
    Adresse = models.CharField(max_length=100)
    Departement = models.ForeignKey('Departement')
    Code_Postal = models.CharField(max_length=10)
    Commune = models.CharField(max_length=100)
    Tel = models.CharField(max_length=20)
    Web = models.URLField('Your Web site',null=True,blank=True)
    Email = models.EmailField(null=True, blank=True)
    Photo1 = models.ImageField(upload_to = 'images/', default = 'images/None/no-img.jpg',null=True, blank=True)
    Photo2 = models.ImageField(upload_to = 'images/', default = 'images/None/no-img.jpg',null=True, blank=True)
    Localisation = models.TextField(null=True,blank=True)
    def __unicode__(self):
        return smart_unicode(self.Nom,self.Description,self.Marques,self.Adresse,self.Commune)




Merci de vos conseils



je suis en Django 1.7.2 et python 2.7

Hors ligne

#2 08-01-2015 10:56:13

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Super débutant et problème utf8

Il te faut utiliser le formatage de chaines de caractères:

def __unicode__(self):
        return u"%s %s %s %s %s" % (self.Nom, self.Description, self.Marques, self.Adresse, self.Commune)

Dernière modification par Xavier Ordoquy (08-01-2015 10:56:30)

Hors ligne

#3 08-01-2015 14:43:30

lebordeluche
Membre
Inscription : 07-01-2015
Messages : 3

Re : Super débutant et problème utf8

Merci
En effet ca roule , j'avais testé comme cela mais pour une raison qui m'échappe je n'avais pas réussi

Merci encore

Hors ligne

Pied de page des forums