Django-fr

Forum

  • Accueil
  • » Django-fr
  • » Pb. de saisie de dates depuis passage en django 1.5...

#1 27-03-2013 16:48:25

Bourhis Yves
Membre
Inscription : 03-10-2011
Messages : 46

Pb. de saisie de dates depuis passage en django 1.5...

Bonjour,

j'ai un modèle contenant :

class DateDebut(models.Model):
     dd_numero = models.AutoField(primary_key=True)
     dd_date_debut = models.DateField('Date de début', db_index=True)
     dd_commentaire = models.CharField('Commentaire',  max_length=254,
blank=True)
     def __unicode__(self):
         return date.isoformat(self.dd_date_debut)

Et :

class Stage(models.Model):
     [...]
     st_dd_numero = models.ForeignKey(DateDebut, verbose_name='Début du
stage', default=1)
     [...]

Jusqu'à présent lorsque je saisissais un nouveau "Stage" via l'interface
d'administration et que la "DateDebut" n'existait pas dans la liste
déroulante, je cliquais le bouton "+" qui m'ouvrait une fenêtre de
saisie d'une nouvelle "DateDebut" (le tout est directement inclus dans
l'interface).

Depuis le passage en 1.5, j'ai un message d'erreur "expected a character
buffer object", or si j'effectue la saisie directement dans la classe
"admin" de "DateDebut" ça fonctionne toujours.
N.B. : le même bouton "+" utilisé pour d'autre champs fonctionnent toujours.

Est-ce un bug de 1.5 ou faut-il chercher ailleurs ?

Cordialement.

Hors ligne

#2 02-04-2013 09:16:55

Bourhis Yves
Membre
Inscription : 03-10-2011
Messages : 46

Re : Pb. de saisie de dates depuis passage en django 1.5...

Bonjour,

j'avais signalé un soucis dans une application depuis le passage en
"Django 1.5", non résolu en 1.5.1 mais réglé en revenant en 1.4.5 !

En cherchant plus loin, j'ai mieux cerné le problème : il vient de la
gestion des url.
En effet, le pb. que j'avais en utilisant l'ajout d'un élément d'une
liste liée dans l'interface d'administration était du au fait que
l'application ne trouve plus ces "liens" dans "urls.py" (l'objet est
bien ajouté, mais la fenêtre ne sait plus ou "retourner" !).

J'ai également constaté de nombreux "mélanges" sur mon serveur "apache"
en 1.5 : on est sur une application et en cliquant sur un lien j'ai
régulièrement un message d'erreur m'indiquant qu'il ne trouve pas de
correspondance dans "urls.py"... si ce n'est qu'il cherche dans le
"urls.py" d'une autre application sur le serveur !

Quelqu'un a-t-il une idée de ce qu'il faut changer dans "urls.py" pour
passer de 1.4.5 en 1.5.x ?

Cordialement.

Hors ligne

#3 02-04-2013 09:23:16

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : Pb. de saisie de dates depuis passage en django 1.5...

Le 02/04/2013 10:16, Bourhis Yves a écrit :
> Bonjour,
>
> j'avais signalé un soucis dans une application depuis le passage en
> "Django 1.5", non résolu en 1.5.1 mais réglé en revenant en 1.4.5 !
>
> En cherchant plus loin, j'ai mieux cerné le problème : il vient de la
> gestion des url.
> En effet, le pb. que j'avais en utilisant l'ajout d'un élément d'une
> liste liée dans l'interface d'administration était du au fait que
> l'application ne trouve plus ces "liens" dans "urls.py" (l'objet est
> bien ajouté, mais la fenêtre ne sait plus ou "retourner" !).
>
> J'ai également constaté de nombreux "mélanges" sur mon serveur
> "apache" en 1.5 : on est sur une application et en cliquant sur un
> lien j'ai régulièrement un message d'erreur m'indiquant qu'il ne
> trouve pas de correspondance dans "urls.py"... si ce n'est qu'il
> cherche dans le "urls.py" d'une autre application sur le serveur !
>
> Quelqu'un a-t-il une idée de ce qu'il faut changer dans "urls.py" pour
> passer de 1.4.5 en 1.5.x ?
>
> Cordialement.
As-tu un message d'erreur ?

Hors ligne

#4 02-04-2013 09:31:28

Rodrigue Villetard
Membre
Inscription : 21-07-2016
Messages : 1

Re : Pb. de saisie de dates depuis passage en django 1.5...

Bonjour,

Une deuxième piste, suite à la migration, as-tu modifié le manage.py en
conséquence ?

a+

Rodrigue

On 2013-04-02 10:23, Rémy HUBSCHER wrote:
> Le 02/04/2013 10:16, Bourhis Yves a écrit :
>> Bonjour,
>>
>> j'avais signalé un soucis dans une application depuis le passage en
>> "Django 1.5", non résolu en 1.5.1 mais réglé en revenant en 1.4.5 !
>>
>> En cherchant plus loin, j'ai mieux cerné le problème : il vient de
>> la gestion des url.
>> En effet, le pb. que j'avais en utilisant l'ajout d'un élément d'une
>> liste liée dans l'interface d'administration était du au fait que
>> l'application ne trouve plus ces "liens" dans "urls.py" (l'objet est
>> bien ajouté, mais la fenêtre ne sait plus ou "retourner" !).
>>
>> J'ai également constaté de nombreux "mélanges" sur mon serveur
>> "apache" en 1.5 : on est sur une application et en cliquant sur un
>> lien j'ai régulièrement un message d'erreur m'indiquant qu'il ne
>> trouve pas de correspondance dans "urls.py"... si ce n'est qu'il
>> cherche dans le "urls.py" d'une autre application sur le serveur !
>>
>> Quelqu'un a-t-il une idée de ce qu'il faut changer dans "urls.py"
>> pour passer de 1.4.5 en 1.5.x ?
>>
>> Cordialement.
> As-tu un message d'erreur ?
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django

Hors ligne

#5 02-04-2013 10:02:28

Bourhis Yves
Membre
Inscription : 03-10-2011
Messages : 46

Re : Pb. de saisie de dates depuis passage en django 1.5...

Le 02/04/2013 10:31, Rodrigue Villetard a écrit :
> Une deuxième piste, suite à la migration, as-tu modifié le manage.py en
> conséquence ?

Que faut-il y changer ?
J'ai essayer de créer un nouveau projet et je ne vois pas de différences
dans le fichier "manage.py" généré...

Pour répondre à Rémy Hubscher le message d'erreur peut être soit :

TypeError at /admin/stages/datedebut/add/
expected a character buffer object
Request Method:    POST
Request URL:    http://localhost:8000/admin/stages/datedebut/add/?_popup=1
Django Version:    1.5.1
Exception Type:    TypeError
Exception Value:   
expected a character buffer object
Exception Location:
/usr/local/lib/python2.7/dist-packages/django/utils/html.py in escapejs,
line 65
Python Executable:    /usr/bin/python
Python Version:    2.7.3
Python Path:   
['/home/yves/workspace/StagesIUT',
  '/usr/local/lib/python2.7/dist-packages/csvImporter-0.1.3.2-py2.7.egg',
  '/usr/local/lib/python2.7/dist-packages/geopy-0.94.2-py2.7.egg',
  '/usr/lib/python2.7',
  '/usr/lib/python2.7/plat-linux2',
  '/usr/lib/python2.7/lib-tk',
  '/usr/lib/python2.7/lib-old',
  '/usr/lib/python2.7/lib-dynload',
  '/usr/local/lib/python2.7/dist-packages',
  '/usr/lib/python2.7/dist-packages',
  '/usr/lib/python2.7/dist-packages/PIL',
  '/usr/lib/python2.7/dist-packages/gst-0.10',
  '/usr/lib/python2.7/dist-packages/gtk-2.0',
  '/usr/lib/pymodules/python2.7',
  '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
  '/usr/lib/python2.7/dist-packages/ubuntuone-client',
  '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
  '/usr/lib/python2.7/dist-packages/ubuntuone-couch',
  '/usr/lib/python2.7/dist-packages/ubuntuone-installer',
  '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
Server time:    mar, 2 Avr 2013 10:59:58 +0200

soit le "standard" quand il ne trouve pas de correspondance dans
"urls.py"...

Hors ligne

#6 02-04-2013 10:06:15

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : Pb. de saisie de dates depuis passage en django 1.5...

Ah ok smile

En fait ce qui a changé c'est le templatetags {% url %}

Avant on l'utilisait comme ça : {% url nom_de_ma_page args1 args2 %}

Maintenant il faut l'utiliser comme ça : {% url 'nom_de_ma_page' args1
args2 %}

Le 02/04/2013 11:02, Bourhis Yves a écrit :
> Le 02/04/2013 10:31, Rodrigue Villetard a écrit :
>> Une deuxième piste, suite à la migration, as-tu modifié le manage.py en
>> conséquence ?
>
> Que faut-il y changer ?
> J'ai essayer de créer un nouveau projet et je ne vois pas de
> différences dans le fichier "manage.py" généré...
>
> Pour répondre à Rémy Hubscher le message d'erreur peut être soit :
>
> TypeError at /admin/stages/datedebut/add/
> expected a character buffer object
> Request Method:    POST
> Request URL: http://localhost:8000/admin/stages/datedebut/add/?_popup=1
> Django Version:    1.5.1
> Exception Type:    TypeError
> Exception Value:
> expected a character buffer object
> Exception Location:
> /usr/local/lib/python2.7/dist-packages/django/utils/html.py in
> escapejs, line 65
> Python Executable:    /usr/bin/python
> Python Version:    2.7.3
> Python Path:
> ['/home/yves/workspace/StagesIUT',
>  '/usr/local/lib/python2.7/dist-packages/csvImporter-0.1.3.2-py2.7.egg',
>  '/usr/local/lib/python2.7/dist-packages/geopy-0.94.2-py2.7.egg',
>  '/usr/lib/python2.7',
>  '/usr/lib/python2.7/plat-linux2',
>  '/usr/lib/python2.7/lib-tk',
>  '/usr/lib/python2.7/lib-old',
>  '/usr/lib/python2.7/lib-dynload',
>  '/usr/local/lib/python2.7/dist-packages',
>  '/usr/lib/python2.7/dist-packages',
>  '/usr/lib/python2.7/dist-packages/PIL',
>  '/usr/lib/python2.7/dist-packages/gst-0.10',
>  '/usr/lib/python2.7/dist-packages/gtk-2.0',
>  '/usr/lib/pymodules/python2.7',
>  '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
>  '/usr/lib/python2.7/dist-packages/ubuntuone-client',
>  '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
>  '/usr/lib/python2.7/dist-packages/ubuntuone-couch',
>  '/usr/lib/python2.7/dist-packages/ubuntuone-installer',
>  '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
> Server time:    mar, 2 Avr 2013 10:59:58 +0200
>
> soit le "standard" quand il ne trouve pas de correspondance dans
> "urls.py"...
>

Hors ligne

#7 02-04-2013 10:31:25

Bourhis Yves
Membre
Inscription : 03-10-2011
Messages : 46

Re : Pb. de saisie de dates depuis passage en django 1.5...

Le 02/04/2013 11:06, Rémy HUBSCHER a écrit :
> En fait ce qui a changé c'est le templatetags {% url %}
>
> Avant on l'utilisait comme ça : {% url nom_de_ma_page args1 args2 %}
>
> Maintenant il faut l'utiliser comme ça : {% url 'nom_de_ma_page' args1
> args2 %}

Je ne comprends pas bien : dans le site "admin", je ne recrée pas les
templates, alors que faudrait-il modifier ?

Hors ligne

#8 02-04-2013 10:38:59

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : Pb. de saisie de dates depuis passage en django 1.5...

Tu aurais le traceback ?

A priori le problème lié à ce traceback viendrait plutôt de
'/home/yves/workspace/StagesIUT' dans la méthode save() du models
peut-être ?

Le 02/04/2013 11:02, Bourhis Yves a écrit :
> Le 02/04/2013 10:31, Rodrigue Villetard a écrit :
>> Une deuxième piste, suite à la migration, as-tu modifié le manage.py en
>> conséquence ?
>
> Que faut-il y changer ?
> J'ai essayer de créer un nouveau projet et je ne vois pas de
> différences dans le fichier "manage.py" généré...
>
> Pour répondre à Rémy Hubscher le message d'erreur peut être soit :
>
> TypeError at /admin/stages/datedebut/add/
> expected a character buffer object
> Request Method:    POST
> Request URL: http://localhost:8000/admin/stages/datedebut/add/?_popup=1
> Django Version:    1.5.1
> Exception Type:    TypeError
> Exception Value:
> expected a character buffer object
> Exception Location:
> /usr/local/lib/python2.7/dist-packages/django/utils/html.py in
> escapejs, line 65
> Python Executable:    /usr/bin/python
> Python Version:    2.7.3
> Python Path:
> ['/home/yves/workspace/StagesIUT',
>  '/usr/local/lib/python2.7/dist-packages/csvImporter-0.1.3.2-py2.7.egg',
>  '/usr/local/lib/python2.7/dist-packages/geopy-0.94.2-py2.7.egg',
>  '/usr/lib/python2.7',
>  '/usr/lib/python2.7/plat-linux2',
>  '/usr/lib/python2.7/lib-tk',
>  '/usr/lib/python2.7/lib-old',
>  '/usr/lib/python2.7/lib-dynload',
>  '/usr/local/lib/python2.7/dist-packages',
>  '/usr/lib/python2.7/dist-packages',
>  '/usr/lib/python2.7/dist-packages/PIL',
>  '/usr/lib/python2.7/dist-packages/gst-0.10',
>  '/usr/lib/python2.7/dist-packages/gtk-2.0',
>  '/usr/lib/pymodules/python2.7',
>  '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
>  '/usr/lib/python2.7/dist-packages/ubuntuone-client',
>  '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
>  '/usr/lib/python2.7/dist-packages/ubuntuone-couch',
>  '/usr/lib/python2.7/dist-packages/ubuntuone-installer',
>  '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
> Server time:    mar, 2 Avr 2013 10:59:58 +0200
>
> soit le "standard" quand il ne trouve pas de correspondance dans
> "urls.py"...
>

Hors ligne

#9 02-04-2013 11:48:04

Bourhis Yves
Membre
Inscription : 03-10-2011
Messages : 46

Re : Pb. de saisie de dates depuis passage en django 1.5...

Le 02/04/2013 11:38, Rémy HUBSCHER a écrit :
> Tu aurais le traceback ?

Je te joins le fichier.
N.B. : si je crée un projet de test directement en 1.5.1, je n'ai pas de
plantage... mais je ne vois pas les différences !

Hors ligne

#10 02-04-2013 13:12:10

Bourhis Yves
Membre
Inscription : 03-10-2011
Messages : 46

Re : Pb. de saisie de dates depuis passage en django 1.5...

Le 02/04/2013 11:38, Rémy HUBSCHER a écrit :
> A priori le problème lié à ce traceback viendrait plutôt de
> '/home/yves/workspace/StagesIUT' dans la méthode save() du models
> peut-être ?

En fait le problème semble venir de mon modèle :

class DateDebut(models.Model):
     dd_numero = models.AutoField(primary_key=True)
     dd_date_debut = models.DateField('Date de début', db_index=True)
     dd_commentaire = models.CharField('Commentaire',  max_length=254,
blank=True)
     def __unicode__(self):
         return date.isoformat(self.dd_date_debut)

Si je remplace :
    return date.isoformat(self.dd_date_debut)
par :
         return self.dd_commentaire
ça fonctionne !

N.B.: si je mets :
    return self.dd_date_debut
ça ne marche pas non plus !

Est-ce qu'il ne serait plus possible de retourner une date ?

Hors ligne

#11 02-04-2013 13:13:48

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : Pb. de saisie de dates depuis passage en django 1.5...

Voici comment faire:

    class DateDebut(models.Model):
         dd_numero = models.AutoField(primary_key=True)
         dd_date_debut = models.DateField('Date de début', db_index=True)
         dd_commentaire = models.CharField('Commentaire',
    max_length=254, blank=True)
         def __unicode__(self):
             return u'%s' % date.isoformat(self.dd_date_debut)



Le 02/04/2013 14:12, Bourhis Yves a écrit :
> Le 02/04/2013 11:38, Rémy HUBSCHER a écrit :
>> A priori le problème lié à ce traceback viendrait plutôt de
>> '/home/yves/workspace/StagesIUT' dans la méthode save() du models
>> peut-être ?
>
> En fait le problème semble venir de mon modèle :
>
> class DateDebut(models.Model):
>     dd_numero = models.AutoField(primary_key=True)
>     dd_date_debut = models.DateField('Date de début', db_index=True)
>     dd_commentaire = models.CharField('Commentaire', max_length=254,
> blank=True)
>     def __unicode__(self):
>         return date.isoformat(self.dd_date_debut)
>
> Si je remplace :
>     return date.isoformat(self.dd_date_debut)
> par :
>         return self.dd_commentaire
> ça fonctionne !
>
> N.B.: si je mets :
>     return self.dd_date_debut
> ça ne marche pas non plus !
>
> Est-ce qu'il ne serait plus possible de retourner une date ?
>

Hors ligne

#12 02-04-2013 13:21:49

Bourhis Yves
Membre
Inscription : 03-10-2011
Messages : 46

Re : Pb. de saisie de dates depuis passage en django 1.5...

Le 02/04/2013 14:13, Rémy HUBSCHER a écrit :
>          def __unicode__(self):
>              return u'%s' % date.isoformat(self.dd_date_debut)
>

Ca marche : merci beaucoup !

Hors ligne

#13 02-04-2013 15:01:55

Bourhis Yves
Membre
Inscription : 03-10-2011
Messages : 46

Re : Pb. de saisie de dates depuis passage en django 1.5...

Le 02/04/2013 10:16, Bourhis Yves a écrit :
> J'ai également constaté de nombreux "mélanges" sur mon serveur "apache"
> en 1.5 : on est sur une application et en cliquant sur un lien j'ai
> régulièrement un message d'erreur m'indiquant qu'il ne trouve pas de
> correspondance dans "urls.py"... si ce n'est qu'il cherche dans le
> "urls.py" d'une autre application sur le serveur !

En fait j'ai trouvé le problème qui vient des "wsgi.py" utilisés.
En créant un nouveau projet j'ai vu qu'un commentaire y était rajouté :

# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This
breaks
# if running multiple sites in the same mod_wsgi process. To fix this, use
# mod_wsgi daemon mode with each site in its own daemon process, or use
os.environ["DJANGO_SETTINGS_MODULE"] = "test151.settings"

Il suffit donc d'en tenir compte et de modifier mes lignes :
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Annuaire.settings")
en :
os.environ["DJANGO_SETTINGS_MODULE"] = "Annuaire.settings"


Ceci dit je dois avoir la mémoire qui flanche car j'avais déjà changé
celà dans d'autres projets : ça m'apprendra à mieux noter mes
modifications !

Hors ligne

  • Accueil
  • » Django-fr
  • » Pb. de saisie de dates depuis passage en django 1.5...

Pied de page des forums