Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2920 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8
Auteur Sujet :

blabla@django

n°2127418
nraynaud
lol
Posté le 21-02-2012 à 00:36:43  profilanswer
 

Reprise du message précédent :
attention, c'est super-débile :
y'a juste un handler de base qui s'appelle wsgi-script (il faut ajouter le droit d'execCGI avec), du coup c'est pas la peine d'aller chercher dans la conf de mod_wsgi, c'est de la conf apache de base.
 
J'ai juste mis ça dans un .htaccess :

SetHandler wsgi-script
Options ExecCGI


 
Je le mets ici parce que c'est tellement con que c'est difficile à trouver dans la doc (je l'ai vu en passant dans un exemple).


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 21-02-2012 à 00:36:43  profilanswer
 

n°2129012
SekYo
Posté le 01-03-2012 à 10:25:18  profilanswer
 

Petit truc à faire attention si vous faites des scripts standalones utilisant l'ORM de Django. Il ne faut pas oublier de fermer manuellement la connexion à la fin du script avec un connection.close(), ce n'est pas fait automatiquement.
Or certains SGDB (MySQL par exemple), bloque un hote si trop de connexions successives sont interrompues... Du coup si vous avez un script en cron et peu d'activité (la nuit par exemple) pour "reset" ce counter... Vous pouvez bloquer votre hôte sans le vouloir (bon y a toujours la possibilité d'augmenter le nombre de fails consécutifs sous MySQL, mais c'est pas top :D)

n°2129715
nraynaud
lol
Posté le 05-03-2012 à 22:05:25  profilanswer
 

quelqu'un sait comment une OSError est sensée remonter dans les logs ? là elle est bouffée et *tout* peut avoir été touché.


---------------
trainoo.com, c'est fini
n°2129772
SekYo
Posté le 06-03-2012 à 11:16:10  profilanswer
 

Pas compris la question :D
T'as une OSError mais tu vois rien dans tes logs ? Comment tu sais que c'est une OSError alors ?
 
Normalement si t'as rien configuré de spécial tu dois avoir au moins un truc qui passe dans le error.log d'apache

n°2129775
nraynaud
lol
Posté le 06-03-2012 à 11:33:24  profilanswer
 

c'est bon, j'ai été emmerdé par : http://python.6.n6.nabble.com/Logg [...] 82168.html
 


---------------
trainoo.com, c'est fini
n°2129778
nraynaud
lol
Posté le 06-03-2012 à 11:56:30  profilanswer
 

pour les migrations, vous voyez mieux que south ? On doit en mettre un, alors c'est l'occasion d'étudier le marché.


---------------
trainoo.com, c'est fini
n°2129785
SekYo
Posté le 06-03-2012 à 12:30:21  profilanswer
 

J'avoue avoir pris south y a 2/3 ans et être resté dessus depuis, sans trop regarder ce qu'il y avait à coté depuis. Faut dire qu'une fois un système de migration choisi tu t'amuses rarement à en changer en cours de route.
Si tu trouves des trucs intéressants par ailleurs ça m’intéresse aussi.

n°2129786
nraynaud
lol
Posté le 06-03-2012 à 12:44:26  profilanswer
 

j'ai vaguement googlé et j'ai pris south, c'est le plus connu, et y'a pas d'autre tendance.


---------------
trainoo.com, c'est fini
n°2143569
SekYo
Posté le 24-05-2012 à 16:18:15  profilanswer
 

C'est peut être déjà passé, mais un blog super intéressant sur PostgreSQL, Django et son ORM. ca couvre aussi des notions assez génériques sur les SGBD et les ORM, même si c'est axé principalement sur ces 2 technos :
 
http://thebuild.com/blog/

n°2143952
nraynaud
lol
Posté le 29-05-2012 à 14:11:22  profilanswer
 

Code :
  1. if request.method == 'POST':
  2.         pass #blah
  3.     response = HttpResponse(status=405)
  4.     response['Allow'] = 'POST'
  5.     return response


j'ai bon ?

 

edit : http://www.w3.org/Protocols/rfc261 [...] ml#sec14.7
http://www.w3.org/Protocols/rfc261 [...] #sec10.4.5
je demande si j'ai bien capté la spec.

Message cité 1 fois
Message édité par nraynaud le 29-05-2012 à 14:13:08

---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 29-05-2012 à 14:11:22  profilanswer
 

n°2143963
masklinn
í dag viðrar vel til loftárása
Posté le 29-05-2012 à 15:18:00  profilanswer
 

nraynaud a écrit :

Code :
  1. if request.method == 'POST':
  2.         pass #blah
  3.     response = HttpResponse(status=405)
  4.     response['Allow'] = 'POST'
  5.     return response


j'ai bon ?

 

edit : http://www.w3.org/Protocols/rfc261 [...] ml#sec14.7
http://www.w3.org/Protocols/rfc261 [...] #sec10.4.5
je demande si j'ai bien capté la spec.


Ça me semble correct, mais complètement redondant

 

(et j'aurais tendance à inverser la condition pour faire un early return, tu risques moins de retourner dans le cas d'erreur et ça évite de nester la partie contenant ta logique)

Message cité 1 fois
Message édité par masklinn le 29-05-2012 à 15:19:33

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2143964
nraynaud
lol
Posté le 29-05-2012 à 15:29:26  profilanswer
 

masklinn a écrit :


Ça me semble correct, mais complètement redondant
 
(et j'aurais tendance à inverser la condition pour faire un early return, tu risques moins de retourner dans le cas d'erreur et ça évite de nester la partie contenant ta logique)


[:bien]


---------------
trainoo.com, c'est fini
n°2146212
SekYo
Posté le 18-06-2012 à 11:29:12  profilanswer
 

Les prés de la DjangoCon EU sont dispo sur http://klewel.com/conferences/djangocon-2012/

n°2146668
Blackyell
$question = $to_be || !$to_be;
Posté le 21-06-2012 à 16:26:52  profilanswer
 

Hello,
 
J'ai une question concernant le RequestContext.
 
Faut le passer au template lors de l'appel de render_to_response() si on veut utiliser {% csrf_token %}, ou si on veut pouvoir utiliser "user" ...
 
Autrement dit, souvent, surtout sur un site qui gère les users authentifiés, et j'ai du mal à comprendre pourquoi ce n'est pas un comportement par défaut.

n°2146678
Shinuza
This is unexecpected
Posté le 21-06-2012 à 18:36:18  profilanswer
 

My guess:
 
http://www.python.org/dev/peps/pep-0020/
 

Citation :

Explicit is better than implicit.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2146695
Blackyell
$question = $to_be || !$to_be;
Posté le 21-06-2012 à 21:36:37  profilanswer
 

Shinuza a écrit :

My guess:
 
http://www.python.org/dev/peps/pep-0020/
 

Citation :

Explicit is better than implicit.



 
Partant de ce principe, il faudrait aussi balancer manuellement le Context au lieu du RequestContext non ?

n°2146701
Shinuza
This is unexecpected
Posté le 21-06-2012 à 22:38:05  profilanswer
 

Blackyell a écrit :


 
Partant de ce principe, il faudrait aussi balancer manuellement le Context au lieu du RequestContext non ?

Dans la signature de render_to_response les 2e et 3e params sont optionnels, donc non.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2147030
0x90
Posté le 25-06-2012 à 13:01:32  profilanswer
 

Blackyell a écrit :

Hello,
 
J'ai une question concernant le RequestContext.
 
Faut le passer au template lors de l'appel de render_to_response() si on veut utiliser {% csrf_token %}, ou si on veut pouvoir utiliser "user" ...
 
Autrement dit, souvent, surtout sur un site qui gère les users authentifiés, et j'ai du mal à comprendre pourquoi ce n'est pas un comportement par défaut.


 
T'as django.shortcuts.render qui est plus concis que render_to_response dans ce cas.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°2147034
Blackyell
$question = $to_be || !$to_be;
Posté le 25-06-2012 à 14:13:39  profilanswer
 

0x90 a écrit :


 
T'as django.shortcuts.render qui est plus concis que render_to_response dans ce cas.


 
:jap:

n°2147642
Blackyell
$question = $to_be || !$to_be;
Posté le 30-06-2012 à 19:10:46  profilanswer
 

Bon, chtite question.
 
J'ai un modèle abstrait, nommé File.
 
Il sert de base à d'autres modèles pour gérer différents types de fichier.
 
Tout se passe bien, mais lorsque je supprime une entrée, le fichier associé ne l'est pas.
 
Je pensais donc utiliser les "Signals", notamment le pre_delete.
 
J'ai donc (je zappe les classes qui étendent File) :
 

Code :
  1. from django.db.models.signals import pre_delete
  2.  
  3. class File(models.Model):
  4.    title = models.CharField(max_length=100, verbose_name=_("Titre" ))
  5.    description = models.CharField(max_length=250, verbose_name=_("Description" ))
  6.    file = models.FileField(upload_to="uploads", verbose_name=_("Fichier" ))
  7.    publish_at = models.DateTimeField(default=datetime.now, verbose_name=_("Mise en ligne" ))
  8.    created_at = models.DateTimeField(auto_now_add=True)
  9.    updated_at = models.DateTimeField(auto_now=True)
  10.  
  11.    class Meta:
  12.        abstract = True
  13.  
  14. def delete_file(sender, **kwargs):
  15.    sender.file.delete()
  16.  
  17. pre_delete.connect(delete_file)


 
Lorsque je supprime une entrée, j'ai l'erreur suivante :
 


AttributeError at /admin/main/annual_report/1/delete/
The 'file' attribute can only be accessed from AnnualReport instances.


 
Donc je suppose que je ne dois pas m'y prendre correctement...

n°2147647
Blackyell
$question = $to_be || !$to_be;
Posté le 30-06-2012 à 20:34:33  profilanswer
 

Ok, trouvé.
 
En fait au lieu de :

Code :
  1. def delete_file(sender, **kwargs):
  2.    sender.file.delete()


Il faut utiliser :

Code :
  1. def delete_file(sender, **kwargs):
  2.    kwargs['instance'].file.delete()

n°2147741
SekYo
Posté le 02-07-2012 à 11:37:23  profilanswer
 

Par contre je ne sais pas trop ce qu'en penseront les autres, mais à ta place j'aurais plus surchargé la méthode delete de ta classe File que de passé via un Signal.

n°2147775
Blackyell
$question = $to_be || !$to_be;
Posté le 02-07-2012 à 14:12:21  profilanswer
 

SekYo a écrit :

Par contre je ne sais pas trop ce qu'en penseront les autres, mais à ta place j'aurais plus surchargé la méthode delete de ta classe File que de passé via un Signal.


 
Je pense aussi oui. Je ne suis pas encore assez familiarisé avec Python/Django.
 
Je viens donc de virer tout ce qui est Signal, et j'ai rajouté ça dans ma classe File :
 

Code :
  1. def delete(self):
  2.        self.file.delete()
  3.        super(File, self).delete()


 
Ça marche.
 
Je ne sais pas si c'est bien comme ça qu'il faut faire, mais ça me semble fonctionner.
 
:jap:

n°2147778
Blackyell
$question = $to_be || !$to_be;
Posté le 02-07-2012 à 14:18:15  profilanswer
 

Bon en fait ça ne va pas comme je veux.
 
Je viens de lire la doc, et ils précisent :
 

Citation :


Overriding Delete
Note that the delete() method for an object is not necessarily called when deleting objects in bulk using a QuerySet. To ensure customized delete logic gets executed, you can use pre_delete and/or post_delete signals.


 
Et en effet, si je supprime un élément en OneToMany sur File... ça fait un bulk delete des File en question, et le delete() n'est pas utilisé.
 
Obligé de passer par les signaux finalement.

n°2147792
SekYo
Posté le 02-07-2012 à 15:48:59  profilanswer
 

Alors oui, le soucis que moi j'avais rencontré avec les signaux c'est que dès que t'as un gros QS, c'est assez coûteux en perf (bon ceci étant c'était des signaux plus complexes, qui mettaient notamment à jour des champs dénormalisés). Du coup quand j'avais des script, ou des trucs batchs à faire sur des gros QS, je me retrouvais à désactiver temporairement les signaux pour éviter que ça prenne trois plombes. Du coup l'intéret des signaux par rapport aux __save__(), __delete()__ était limité.
 
Masklinn t'as pas un avis sur la question ? :o

n°2147880
0x90
Posté le 03-07-2012 à 11:53:46  profilanswer
 

>> [self[alias] for alias in self]
RuntimeError: dictionary changed size during iteration


Original [:pingouino]


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°2151884
nraynaud
lol
Posté le 01-08-2012 à 11:41:58  profilanswer
 

'tain je suis paumé là :

Code :
  1. @require_POST
  2. def create(request):
  3.     print settings.DEFAULT_CHARSET
  4.     print request.body
  5.     print request.POST
  6.     print request.POST['contact']


 

[Wed Aug 01 11:40:33 2012] [error] +788ms    INFO: wgs.reloader: Replying with thread 715
[Wed Aug 01 11:40:34 2012] [error] utf-8
[Wed Aug 01 11:40:34 2012] [error] csrfmiddlewaretoken=vykmSXMiyKn6alVCBbnfKLFvHFykG5vC&contact=%C3%A9%C3%A9&email=sqdf%40sqdf.com&description=%C3%A9%C3%A9
[Wed Aug 01 11:40:34 2012] [error] <QueryDict: {u'csrfmiddlewaretoken': [u'vykmSXMiyKn6alVCBbnfKLFvHFykG5vC'], u'contact': [u'\\xe9\\xe9'], u'email': [u'sqdf@sqdf.com'], u'description': [u'\\xe9\\xe9']}>
[Wed Aug 01 11:40:34 2012] [error] +193ms   ERROR: django.request: Internal Server Error: /~nraynaud/wgs/wgsportal/report/
[Wed Aug 01 11:40:34 2012] [error] Traceback (most recent call last):
[Wed Aug 01 11:40:34 2012] [error]   File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
[Wed Aug 01 11:40:34 2012] [error]     response = callback(request, *callback_args, **callback_kwargs)
[Wed Aug 01 11:40:34 2012] [error]   File "/Library/Python/2.7/site-packages/django/views/decorators/http.py", line 41, in inner
[Wed Aug 01 11:40:34 2012] [error]     return func(request, *args, **kwargs)
[Wed Aug 01 11:40:34 2012] [error]   File "/Users/nraynaud/Sites/lol/python/wgs/portal/lol/views/report.py", line 29, in create
[Wed Aug 01 11:40:34 2012] [error]     print request.POST['contact']
[Wed Aug 01 11:40:34 2012] [error] UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)


 
edit: le log de chrome :  

POST /~nraynaud/lol/lol/report/ HTTP/1.1
Host: maquette.local
Connection: keep-alive
Content-Length: 120
Cache-Control: max-age=0
Origin: http://maquette.local
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.57 Safari/537.1
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: http://maquette.local/~nraynaud/lol/lol/mapviewers/58/?format=browser
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en,en-US;q=0.8,fr-FR;q=0.6,fr;q=0.4
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: SESSd492765522ba4a477cdfd290b54684f2=r27alq1kqpbmckvm27an6tlvk6; djdt=hide; has_js=1; csrftoken=vykmSXMiyKn6alVCBbnfKLFvHFykG5vC; __utma=212724872.303509685.1343809470.1343809470.1343809470.1; __utmc=212724872; __utmz=212724872.1343809470.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)


Message édité par nraynaud le 01-08-2012 à 11:43:52

---------------
trainoo.com, c'est fini
n°2151906
masklinn
í dag viðrar vel til loftárása
Posté le 01-08-2012 à 12:12:11  profilanswer
 

Je vois pas le problème, t'as "éé" dans ton request.POST['contact'], il arrive décodé dans request.POST (d'où le préfixe u quand tu print request.POST), print appelle str. str(unicode) fait unistr.encode(sys.getdefaultencoding()) qui dans python 2 par défaut correspond à unistr.encode('ascii').

 

"é" ne peut pas être encodé en ASCII, donc UnicodeEncodeError.

 

(le str() d'une collection Python fait des repr() sur les membres, et le repr(unicode) affiche les caractères non-ascii en hexa escapé au lieu de tenter de les encoder, donc ça ça marche)

Message cité 1 fois
Message édité par masklinn le 01-08-2012 à 12:13:34

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2151910
nraynaud
lol
Posté le 01-08-2012 à 12:15:37  profilanswer
 

j'essaye de comprendre ton post, ça veut dire qu'on peut pas faire un print d'une chaine utf-8 alors que tout l'OS et tout le système est UTF-8 ?


---------------
trainoo.com, c'est fini
n°2151913
Shinuza
This is unexecpected
Posté le 01-08-2012 à 12:26:37  profilanswer
 

Traduction :

masklinn a écrit :

Je vois pas le problème, t'as "éé" dans ton request.POST['contact'], il arrive décodé dans request.POST (d'où le préfixe u quand tu print request.POST), print appelle str. str(unicode) fait unistr.encode(sys.getdefaultencoding()) qui dans python 2 par défaut correspond à unistr.encode('ascii').

Quand tu fait un print sur le request.POST['contact'], en python 2, ça équivaut à print request.POST['contact'].encode('ascii') (soit request.POST['contact'] une chaine unicode)

masklinn a écrit :

(le str() d'une collection Python fait des repr() sur les membres, et le repr(unicode) affiche les caractères non-ascii en hexa escapé au lieu de tenter de les encoder, donc ça ça marche)

Quand tu fais un print sur une collection ça affiche la version escapée des caractères non ascii.

 

Donc non, tu peux printer avec le mechanisme par défaut.


Message édité par Shinuza le 01-08-2012 à 12:27:51

---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2151914
masklinn
í dag viðrar vel til loftárása
Posté le 01-08-2012 à 12:28:26  profilanswer
 

nraynaud a écrit :

j'essaye de comprendre ton post, ça veut dire qu'on peut pas faire un print d'une chaine utf-8 alors que tout l'OS et tout le système est UTF-8 ?


Tu peux faire un print d'une chaîne utf-8, tu peux pas nécessairement faire un print d'une chaîne unicode dans Python 2 (c'est pas du tout la même chose, une chaîne utf-8 c'est une séquence de bytes, un objet unicode c'est une séquence de codepoints)

 

Techniquement, pour préciser sur le commentaire précédent, ça dépend de ton sys.stdout.encoding, qui va être utilisé pour encoder un objet unicode quand il est transformé en str pour être balancé dans stdout.

 

Par défaut, son encodage est (je crois) sys.getdefaultencoding() qui est grosso merdo hardcodé à ASCII. Au démarrage, Python regarde les envvars PYTHONIOENCODING et LC_CTYPE et utilise la première qui ne soit pas vide.

 

Donc t'as pas tout l'OS et le système en UTF-8, parce que ni LC_CTYPE ni PYTHONIOENCODING ne sont set, et Python fallback sur le seul truc safe qu'il ait: ascii.


Message édité par masklinn le 01-08-2012 à 12:29:56

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2151917
Shinuza
This is unexecpected
Posté le 01-08-2012 à 12:33:30  profilanswer
 

:jap:


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2151932
nraynaud
lol
Posté le 01-08-2012 à 14:17:11  profilanswer
 

la classe totale mecs de PHP devraient passer à python.
 
Bon ça veut dire que c'est ma tentative de débuggage qui a un problème plus que mon système.


---------------
trainoo.com, c'est fini
n°2151935
masklinn
í dag viðrar vel til loftárása
Posté le 01-08-2012 à 14:22:37  profilanswer
 

nraynaud a écrit :

la classe totale mecs de PHP devraient passer à python.


PHP n'a effectivement pas le problème, vu que le concept d'unicode est manquant à l'appel/


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2152593
Jubijub
Parce que je le VD bien
Posté le 05-08-2012 à 14:30:51  profilanswer
 

hum, je m'étais vautré là dessus aussi...c'est vrai qu'une fois qu'on t'explique le catch c'est évident, mais c'est super casse-gueule...
 
sur un mac en 2012, tu t'attends pas à ce que ton programme se mette pas défaut en ASCII


---------------
Jubi Photos : Flickr - 500px
n°2152909
nraynaud
lol
Posté le 08-08-2012 à 14:06:09  profilanswer
 

yo, j'ai encore un pb à la con.
 
J'ai une appli qui est optionnelle, certains sites la déploieront et d'autres pas.
Mon idée c'est de simplement l'ajouter ou non aux INSTALLED_APPS du settings.py général.
 
Mais ça pose le problème des URLs de cette appli. Je peux mettre un urls.py dedans, mais comment faire pour qu'il aille se greffer au truc de routage général quand il est activé, sans toucher au urls.py général ? (le truc général a pas à connaître les plugins optionnels)


---------------
trainoo.com, c'est fini
n°2152915
SekYo
Posté le 08-08-2012 à 14:14:42  profilanswer
 

Sans y réfléchir plus que ça, j'irais sans doute faire un truc dans le urls.py général qui genre listerait toutes les applications présentes et intègrerait automatiquement le urls.py qui se trouve dans chaque appli.
 
Un peu a la manière de l'admin autodiscover, qui cherche tous les fichier admin.py présent dans chaque appli au moment du lancement.

n°2152917
nraynaud
lol
Posté le 08-08-2012 à 14:17:12  profilanswer
 

c'est une idée [:bien]


---------------
trainoo.com, c'est fini
n°2152923
0x90
Posté le 08-08-2012 à 14:37:28  profilanswer
 

J'aurais juste fais ça :
 

Code :
  1. if 'special_app' in settings.INSTALLED_APPS:
  2.    urlpattern += pattern('',
  3.        url((r'^special_app_root/', include('special_app.urls'))


 
Rapport au fait que même si tu listes automatiquement les urls.py d'applis, tu sauras pas à quelle url racine les rattacher (à moins d'avoir une convention spécifique pour les applis optionnelles, et de ne traiter automatiquement que celles là).
 
Et sinon je me serais posé la question de savoir si c'est vraiment important que l'appli ne soit pas chargée du tout pour les sites non-concernés. C'est peut-être plus sûr de l'activer partout (pour éviter les variations dans la table de routage et les modules/deps chargés).
 
De plus si l'appli est tout le temps activée mais qu'elle a un booléen en base pour savoir si elle bosse ou si elle répond 404, tu peux l'activer/désactiver sans redémarrer le serveur (le contenu du settings.py étant censé être constant).


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°2152931
SekYo
Posté le 08-08-2012 à 16:19:15  profilanswer
 

0x90, je ne suis pas sur que ta solution soit compatible avec son

Citation :

(le truc général a pas à connaître les plugins optionnels)


Pour moi ton "if special_app" dans le urls.py c'est justement une ligne qui montre que ton truc général connait a priori la liste de toutes les modules possibles installables, ce qui me semble pas aller avec sa contrainte.
 
Mais si j'ai mal compris ce que j'ai quoté, la solution de 0x90 est sans doute la meilleure :)

n°2152932
nraynaud
lol
Posté le 08-08-2012 à 16:29:20  profilanswer
 

j'pense que 0x90 est pas d'accord avec ma contrainte tout court en fait.


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8

Aller à :
Ajouter une réponse
 

Sujets relatifs
Blabla@Progue[Topic unique] .Net @ Prog
Page Jsp qui affiche le ${ blabla }case in blabla (KSH) ===> fichier CSV
BlaBla@SQLProblème de configuration MySQL sur Django
Suivant / Précédant dans appli js (non c'est pas history.blabla ...)Blabla@Python \o/
SBP: le Système d'unités de Blabla@Prog 
Plus de sujets relatifs à : blabla@django


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)