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

 


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

blabla@django

n°2095501
masklinn
í dag viðrar vel til loftárása
Posté le 16-08-2011 à 17:37:32  profilanswer
 

Reprise du message précédent :

nraynaud a écrit :

j'achète l'analyse.

 

J'ai juste besoin de renforcement social [:ciler]


Tu peux même aliaser TextField(widget=whatever_the_char_widget_is) en CharField, comme ça tu utilises juste TextField ou CharField selon ce que tu veux en widget par défaut/dans ton admin, et dans tous les cas c'est stocké en text sans limite de taille.

 

J'ai toujours pensé que char/varchar pouvait être plus efficace pq tu stockes des records en fixed-length alors qu'avec text t'as (potentiellement) une indirection, mais si c'est pas le cas (pour postgres et sqlite, les autres je m'en bat) en fait c'est se faire chier pour rien, text FTW.

Message cité 1 fois
Message édité par masklinn le 16-08-2011 à 17:38:55

---------------
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?
mood
Publicité
Posté le 16-08-2011 à 17:37:32  profilanswer
 

n°2095502
masklinn
í dag viðrar vel til loftárása
Posté le 16-08-2011 à 17:41:52  profilanswer
 

SekYo a écrit :

Le truc c'est qu'à ma connaissance le coupable c'est pas django, mais les DBMS qui sont derrières. La plupart, comme PostgreSQL ou MySQL demandent une taille fixe pour le type char de base.

 

Par contre, une note intéressante sur PostGreSQL par exemple c'est qu'il n'y a pas de différence de performance entre les différents types. http://www.postgresql.org/docs/8.2 [...] acter.html  ( voir le "tip" ), du coup autant utiliser un TextField par exemple.


Fun stuff: ils ont ajouté des trucs à ce texte dans toutes les révisions de la doc, dans la doc 9.1 il est expliqué que character(n) est généralement plus lent que les 2 autres [:ddr555]

 

Je note également, il semble possible d'utiliser character varying (et ptet aussi varchar) sans donner une taille, en tout cas dans postgres (et sqlite, qui regarde juste si t'as "text", "char" ou "clob" dans ton type il se pose même pas la question de la spec taille). Je sais pas ce que ça donne ailleurs.

Citation :

If you desire to store long strings with no specific upper limit, use text or character varying without a length specifier, rather than making up an arbitrary length limit.)


postgres est nray-compilant [:ddr555]


Message édité par masklinn le 16-08-2011 à 17:42:16

---------------
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°2095503
nraynaud
lol
Posté le 16-08-2011 à 17:42:06  profilanswer
 

masklinn a écrit :


Tu peux même aliaser TextField(widget=whatever_the_char_widget_is) en CharField, comme ça tu utilises juste TextField ou CharField selon ce que tu veux en widget par défaut/dans ton admin, et dans tous les cas c'est stocké en text sans limite de taille.
 
J'ai toujours pensé que char/varchar pouvait être plus efficace pq tu stockes des records en fixed-length alors qu'avec text t'as (potentiellement) une indirection, mais si c'est pas le cas (pour postgres et sqlite, les autres je m'en bat) en fait c'est se faire chier pour rien, text FTW.


à mon avis c'est surtout que t'as surtout une indirection dans *tous* les cas.


---------------
trainoo.com, c'est fini
n°2095504
masklinn
í dag viðrar vel til loftárása
Posté le 16-08-2011 à 17:47:51  profilanswer
 

Apparemment, sql server est un peu plus merdique mais tu peux quand même te démerder avec:
 

  • TEXT est toujours stocké out-of-row et lent, il a été déprécié
  • VARCHAR(n) et NVARCHAR(n) sont limités à 8k (apparemment pour 2000 et plus vieux, toute la row doit tenir dans 8k), pour NVARCHAR ça veut dire 4000 chars
  • MS a ajouté VARCHAR(MAX) et NVARCHAR(MAX), qui sont les versions pas stupides: si elles tiennent dans la row elles sont stockées inline (comme VARCHAR(n)), si elles overflow elles sont stockées avec une indirection, et limitées à 2Go de données comme TEXT et CHARACTER VARYING sous pg. Faudrait voir sur quoi CharField et TextField mappent quand tu utilises django avec sql server.


---------------
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°2095505
masklinn
í dag viðrar vel til loftárása
Posté le 16-08-2011 à 17:49:48  profilanswer
 

nraynaud a écrit :


à mon avis c'est surtout que t'as surtout une indirection dans *tous* les cas.


Bah non ce serait débile, si ta chaîne est courte autant la stocker inline. C'est ce que fait VARCHAR(MAX) sous SQL Server, et dans la mesure où postgres change de comportement au dessus de 126b, je présume que c'est également le cas. Sauf que la limite pour dégager la valeur de la row est probablement plus haute.

 

Cf doc:

Citation :

Longer strings have 4 bytes of overhead instead of 1. Long strings are compressed by the system automatically, so the physical requirement on disk might be less. Very long values are also stored in background tables so that they do not interfere with rapid access to shorter column values.


clairement les chaînes courtes sont stockées dans les rows, sinon la partie en gras n'aurait pas de sens.

Message cité 1 fois
Message édité par masklinn le 16-08-2011 à 17:50:59

---------------
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°2095506
nraynaud
lol
Posté le 16-08-2011 à 17:52:50  profilanswer
 

masklinn a écrit :


Bah non ce serait débile, si ta chaîne est courte autant la stocker inline. C'est ce que fait VARCHAR(MAX) sous SQL Server, et dans la mesure où postgres change de comportement au dessus de 126b, je présume que c'est également le cas. Sauf que la limite pour dégager la valeur de la row est probablement plus haute.
 
Cf doc:

Citation :

Longer strings have 4 bytes of overhead instead of 1. Long strings are compressed by the system automatically, so the physical requirement on disk might be less. Very long values are also stored in background tables so that they do not interfere with rapid access to shorter column values.


clairement les chaînes courtes sont stockées dans les rows, sinon la partie en gras n'aurait pas de sens.


je vois pas comment tu peux avoir des rows de longueur fixes dans ce cas.


---------------
trainoo.com, c'est fini
n°2095507
masklinn
í dag viðrar vel til loftárása
Posté le 16-08-2011 à 17:58:53  profilanswer
 

nraynaud a écrit :


je vois pas comment tu peux avoir des rows de longueur fixes dans ce cas.


T'as pas de rows de longueur fixe, ou alors tes champs text/varchar ont une taille allouée égale à leur max inline si pas de taille spécifiée. Problem fucking solved.

 

Par contre tu peux avoir des problèmes d'index, je te préviens tout de suite, dans postgres b-tree pête si les champs sont trop grands, faut passer à un autre type d'index (genre hash).


Message édité par masklinn le 16-08-2011 à 17:59:44

---------------
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°2095511
nraynaud
lol
Posté le 16-08-2011 à 18:02:55  profilanswer
 

bon, stu veux (je doute, mais la flemme de rentrer là-dedans)
 
sinon, dans south, j'ajoute une colonne, mais en même temps je veux migrer des data dedans, il faut que je fasse une schemamigration suivie d'une datamigration ou je peux tout mettre dans une seule migration ?


---------------
trainoo.com, c'est fini
n°2095513
SekYo
Posté le 16-08-2011 à 18:06:07  profilanswer
 

Hum, je pense que le models auquel tu vas accéder dans ta schemamigration via le orm.* sera encore l'ancien schéma, du coup ça risque de péter si tu tapes sur de nouveaux champs (après tu peux toujours faire le gros dégeu et importer directement ton model, mais c'est très sale).
 
Du coup :
- schemamigration
- puis datamigration
 
C'est pas pour la ligne de commande en plus que ça prend à faire ! :D

n°2095515
nraynaud
lol
Posté le 16-08-2011 à 18:14:52  profilanswer
 

ok, merci


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 16-08-2011 à 18:14:52  profilanswer
 

n°2095516
nraynaud
lol
Posté le 16-08-2011 à 18:15:26  profilanswer
 

c'était plus pour l'atomicité du changement en fait.


---------------
trainoo.com, c'est fini
n°2095517
SekYo
Posté le 16-08-2011 à 18:18:17  profilanswer
 

Si tu donnes que la moitié des infos aussi :D
 
Du coup j'imagine qu'en encapsulant tout dans une transaction ça doit être possible, mais j'avoue qu'en utilisant south je ne sais pas trop comment tu peux faire, j'ai jamais eu de migration suffisamment critique pour me pencher sur ce problème.

n°2095523
nraynaud
lol
Posté le 16-08-2011 à 18:40:26  profilanswer
 

non, c'est pas critique, c'est juste que j'ajoute une colonne et que je la peuple à partir d'une autre colonne (j'ai une autre colonne qui contient du JSON et je vais en extraire une propriété en colonne)
donc je pensais logique d'encapsuler en un seul endroit l'ajout de la colonne et son peuplement. C'est plus de la politique d'organisation du code.


---------------
trainoo.com, c'est fini
n°2096039
nraynaud
lol
Posté le 18-08-2011 à 16:25:07  profilanswer
 

masklinn a écrit :


Non, faut mettre blank=True, qui lui sera converti en required=False


le problème c'est que quand le champ est blank, il utilise pas le default ce con [:pingouino]
 
dans mon modèle j'ai :  

Code :
  1. basemap = models.TextField(choices=BASEMAPS, default="roadmap", blank=True)


 
dont j'espère vaguement que ça veut dire : "ne force pas la présence de roadmap dans le ModelForm et si personne ne te file de basemap dans le formulaire, mets roadmap" mais en vrai ça met le champ à chaîne vide


---------------
trainoo.com, c'est fini
n°2096083
nraynaud
lol
Posté le 18-08-2011 à 18:32:03  profilanswer
 

bordel :

Code :
  1. basemap = models.TextField(choices=BASEMAPS, default="roadmap" )
 


Code :
  1. class MapForm(ModelForm):
  2.    class Meta:
  3.        model = Map
  4.  
  5.    def __init__(self, *args, **kwargs):
  6.        super(MapForm, self).__init__(*args, **kwargs)
  7.        self.fields['basemap'].required = False


m'envoie chaine vide dans la base :fou:

 

edit: et avec toute la réflexion dans tous les sens je sais même pas où mettre un point d'arrêt pour voir si c'est le form ou le model qui fait pas ce que je veux :(


Message édité par nraynaud le 18-08-2011 à 18:34:14

---------------
trainoo.com, c'est fini
n°2097265
nraynaud
lol
Posté le 24-08-2011 à 17:04:27  profilanswer
 

y'a pas d'exception pour le 403 ?


---------------
trainoo.com, c'est fini
n°2097414
nraynaud
lol
Posté le 25-08-2011 à 09:49:51  profilanswer
 

dites, c'est moi ou y'a pas le paramètre "next" dans le AuthenticationForm par défaut ?  
 
du coup toute la chaine de login par défaut gère le "next" sauf le formulaire [:pingouino]
 
(sinon, je me sens un peu seul sur mon topac, django c'est pas sensé être le truc trendy ? :sweat: )


---------------
trainoo.com, c'est fini
n°2101885
SekYo
Posté le 16-09-2011 à 18:44:08  profilanswer
 

Des news sur le passage à Python 3 :
 
http://groups.google.com/group/dja [...] 685ad0302#
 
@nraynaud : Clairement l'activité sur les sites FR pour Django est assez limitée. Par contre je trouve qu'on trouve facilement de la doc/examples sur les sites UK, que ce soit des blogs ou sur stackoverflow.

n°2103246
masklinn
í dag viðrar vel til loftárása
Posté le 25-09-2011 à 17:18:59  profilanswer
 

Pour ceuxe qui utilisent les forms django mais ont besoin de plus de contrôle sur le rendu précis: floppyforms.
 
À voir aussi: Django Uni-Form, qui utilise uni-form pour faire de jolis rendus de formulaires à base de divs, à la place des paragraphes ou tables fournis dans Django.


---------------
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°2103594
nraynaud
lol
Posté le 27-09-2011 à 17:55:45  profilanswer
 

hep, y'a un endroit "django-esque" pour mettre les décorateurs de vue ?


---------------
trainoo.com, c'est fini
n°2103676
SekYo
Posté le 28-09-2011 à 09:43:38  profilanswer
 

Pas à ma connaissance.  
 
Perso je les mets dans un fichiers decorators.py dans l'appli concerné si c'est spécifique à une appli, sinon en général dans mon arbo j'ai un module Python qui regroupe tous les trucs un peu utilitaires et co, je le met dedans si c'est global à toutes les applis.

n°2104114
masklinn
í dag viðrar vel til loftárása
Posté le 30-09-2011 à 11:10:28  profilanswer
 

Guide assez complet sur les fields et widgets custom dans les forms django:
http://tothinkornottothink.com/pos [...] -in-detail


---------------
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°2104128
Remigio
Radio Flip, 72.8
Posté le 30-09-2011 à 11:58:01  profilanswer
 

masklinn a écrit :

Guide assez complet sur les fields et widgets custom dans les forms django:
http://tothinkornottothink.com/pos [...] -in-detail


Excellent [:bien]


---------------
Everybody can succeed, all you need is to believe
n°2104134
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-09-2011 à 12:55:59  profilanswer
 

Drap'


---------------
Gamertag: CoteBlack YeLL
n°2105126
nraynaud
lol
Posté le 06-10-2011 à 16:07:36  profilanswer
 

quelqu'un a déjà joué avec un système noSQL orienté document et django ?
Il faut quand même une base traditionnelle pour les utilisateurs ?


---------------
trainoo.com, c'est fini
n°2105225
SekYo
Posté le 07-10-2011 à 13:52:15  profilanswer
 

Les Generic Views sur Django, vous les utilisez un peu, beaucoup, pas du tout ?
Je suis en train de me pencher sérieusement sur le bouzin depuis leur refactoring. Le truc qui m'ennuie un peu en fait c'est qu'on a souvent besoin de pleins de petits trucs particuliers dès qu'un projet grossi, un simple listing d'object suffit plus. Et si y a pleins de façons de "particulariser" ces Generic Views, au final j'ai un peu l'impression qu'on se retrouve à refaire la même chose que si tu passais via une vue classique...

n°2105227
nraynaud
lol
Posté le 07-10-2011 à 14:00:10  profilanswer
 

moi je les utilise un peu, mais souvent complètement custo.


---------------
trainoo.com, c'est fini
n°2105231
Remigio
Radio Flip, 72.8
Posté le 07-10-2011 à 14:19:38  profilanswer
 

Tu parles des class based views ?
 
Moi j'essaye de les utiliser autant que possible ...


---------------
Everybody can succeed, all you need is to believe
n°2105234
SekYo
Posté le 07-10-2011 à 14:30:57  profilanswer
 
n°2105237
Remigio
Radio Flip, 72.8
Posté le 07-10-2011 à 14:43:59  profilanswer
 

Oui oui, j'avais cru lire qu'il était recommandé de ne plus passer par des fonctions.

 

Comme je suis discipliné et qu'après toutes ces années de programmation, j'ai appris qu'il était bon de suivre les évolutions et ne pas rester sur "ce qui marche" et "qui fait très bien ce que j'ai envie de faire", ben je me force avec les Class Based View.

 

C'est franchement pas mal d'un certain point de vu. Mais c'est sur que pour un code simple avec un seul développeur, ça peut être assez lourd et chiant.


Message édité par Remigio le 07-10-2011 à 14:44:12

---------------
Everybody can succeed, all you need is to believe
n°2106639
nraynaud
lol
Posté le 16-10-2011 à 21:54:16  profilanswer
 

dites, comment je peux affecter un fichier déjà sur le serveur à un FileField ?
 
Le fichier a été téléchargé au bon endroit lors de la preview, mais je vais affecter le champs de l'entité que quand l'utilisateur a confirmé.


---------------
trainoo.com, c'est fini
n°2118065
Dj YeLL
$question = $to_be || !$to_be;
Posté le 22-12-2011 à 23:10:40  profilanswer
 

Hello,
 
J'essaye de créer une applis pour gérer nos stocks de matériel, au service informatique de là où je bosse.
 
Donc j'ai plusieurs tables de prévues (je ne vais parler ici que de ce qui m'intéresse, bien entendu).
 
Voici les tables :
 
HardwareInfoField
Contient la liste des caractéristiques qui pourront être demandées ou non en fonction du matériel.
 
Exemple :


   | name                    | type   | extra
 1 | N° Inventaire           | Text   |
 2 | Adresse MAC             | Text   |
 3 | Destocké                | Choice | Yes,No
 4 | Référence Toner Noir    | Text   |
 5 | Référence Toner Cyan    | Text   |
 6 | Référence Toner Magenta | Text   |
 7 | Référence Toner Jaune   | Text   |
 8 | Référence Tambour       | Text   |
 9 | Date d'achat            | Date   |
10 | Hostname                | Text   |
11 | Diagonale écran         | Text   |
12 | Référence Batterie      | Text   |


 
-------------------------------------------------------------------
 
HardwareType
Contient la liste des types de matériel, avec les ID des différentes caractéristiques à associer au type
 
Exemple :


  | name                     | info_fields
1 | PC                       | 1,2,3,9,10
2 | Imprimante Laser N&B     | 1,2,3,4,8,9,10
3 | Imprimante Laser Couleur | 1,2,3,4,5,6,7,8,9,10
4 | Moniteur                 | 1,3,9,11
5 | PC Portable              | 1,2,3,9,10,11,12


--------------------------------------------------------------------
 
HardwareBrand
Contient la liste des marques.
 
Exemple :


  | name
1 | Brother
2 | HP
3 | Samsung


---------------------------------------------------------------------
 
HardwareReference
Contient la liste des références produits.
 
Exemple :


  | name          | brand | type
1 | ProBook 4530s | 2     | 5
2 | HL 5350 DN    | 1     | 2


---------------------------------------------------------------------
 
Maintenant il me faut une table qui me permet d'enregistrer effectivement chaque matériel.
 
Si je réceptionne un nouveau PC Portable HP 4530s par exemple, je dois pouvoir l'enregistrer, et donc avoir une table qui stocke la référence, ainsi que les valeurs des différents champs "HardwareInfoField" associés.
 
En gros il me faut une table qui stocke chaque matériel (Hardware). Avec une ForeignKey sur une référence produit.
 
Puis une table qui fait le lien entre un ID de Hardware, un ID de HardwareInfoField, et la valeur entrée par l'user.
 
Mais j'ai du mal à comprendre comment faire ça proprement dans les modèles.
 
Pour le moment j'ai ça :
 

Code :
  1. class HardwareInfoField(models.Model):
  2.    name = ...
  3.    type = ...
  4.    extra = ...
  5.  
  6. class HardwareType(models.Model):
  7.    name = ...
  8.    info_fields = ...
  9.  
  10. class HardwareBrand(models.Model):
  11.    name = ...
  12.  
  13. class HardwareReference(models.Model):
  14.    name = ...
  15.    brand = models.ForeignKey(HardwareBrand)
  16.    type = models.ForeignKey(HardwareType)
  17.  
  18. class Hardware(models.Model):
  19.    reference = models.ForeignKey(HardwareReference)


 
Et je bute à ce niveau là.
 
Si quelqu'un à une piste à me donner sur la manière de procéder ... :jap:


---------------
Gamertag: CoteBlack YeLL
n°2118067
Dj YeLL
$question = $to_be || !$to_be;
Posté le 22-12-2011 à 23:17:14  profilanswer
 

Pour la suite j'imagine un truc du genre :
 

Code :
  1. class HardwareInfoValue(models.Model):
  2.    hardware = models.ForeignKey(Hardware)
  3.    info_field = models.ForeignKey(HardwareInfoField)
  4.    value = ...


 
Ca semble correct comme manière de procéder ?


---------------
Gamertag: CoteBlack YeLL
n°2118070
Dj YeLL
$question = $to_be || !$to_be;
Posté le 22-12-2011 à 23:41:08  profilanswer
 

Code :
  1. class Building(models.Model):
  2.    name = models.CharField(max_length=100)
  3.  
  4. class Service(models.Model):
  5.    name = models.CharField(max_length=100)
  6.    uf = models.CharField(max_length=5)
  7.    building = models.ForeignKey(Building)
  8.  
  9. class User(models.Model):
  10.    first_name = models.CharField(max_length=100)
  11.    last_name = models.CharField(max_length=100)
  12.    service = models.ForeignKey(Service)
  13.  
  14. class HardwareType(models.Model):
  15.    name = models.CharField(max_length=100)
  16.    info_fields = models.CommaSeparatedIntegerField(max_length=500)
  17.  
  18. class HardwareBrand(models.Model):
  19.    name = models.CharField(max_length=100)
  20.  
  21. class HardwareReference(models.Model):
  22.    name = models.CharField(max_length=100)
  23.    brand = models.ForeignKey(HardwareBrand)
  24.    type = models.ForeignKey(HardwareType)
  25.    
  26. class HardwareInfoField(models.Model):
  27.    name = models.CharField(max_length=100)
  28.    type = models.CharField(max_length=100)
  29.    extra = models.CharField(max_length=500)
  30.  
  31. class Hardware(models.Model):
  32.    reference = models.ForeignKey(HardwareReference)
  33.    infos = models.ManyToManyField(HardwareInfoField, through='HardwareInfoValue')
  34.    
  35. class HardwareInfoValue(models.Model):
  36.    hardware = models.ForeignKey(Hardware)
  37.    info_field = models.ForeignKey(HardwareInfoField)
  38.    value = models.CharField(max_length=100)


---------------
Gamertag: CoteBlack YeLL
n°2121145
masklinn
í dag viðrar vel til loftárása
Posté le 13-01-2012 à 11:18:33  profilanswer
 

Alex Gaynor: Why I hate the Django ORM (slides only)


Message édité par masklinn le 13-01-2012 à 11:18:45

---------------
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°2121153
SekYo
Posté le 13-01-2012 à 11:39:04  profilanswer
 

Je pense que ces remarques sont venues à toutes personnes ayant utilisé Django et son ORM pour faire une appli un peu plus évoluée qu'un blog. Faire un SELECT SUM/MIN/MAX .... GROUP BY c'est juste pas intuitif du tout la syntaxe de l'ORM :/
 
Mais après le constat, il propose quoi ? J'ai pas vu passer de messages sur une refonte des fonctions "avancées" de l'ORM sur le groupe django-dev...

n°2121168
masklinn
í dag viðrar vel til loftárása
Posté le 13-01-2012 à 12:17:59  profilanswer
 

SekYo a écrit :

Je pense que ces remarques sont venues à toutes personnes ayant utilisé Django et son ORM pour faire une appli un peu plus évoluée qu'un blog. Faire un SELECT SUM/MIN/MAX .... GROUP BY c'est juste pas intuitif du tout la syntaxe de l'ORM :/

 

Mais après le constat, il propose quoi ? J'ai pas vu passer de messages sur une refonte des fonctions "avancées" de l'ORM sur le groupe django-dev...


Je sais pas (il en parlait ptet en dehors des slides, ou bien alors c'est juste une critique d'un "open problem" ), mais il montre au moins le code équivalent dans SQLAlchemy, chez qui les références sur des champs sont beaucoup plus régulières (c'est toujours la même syntaxe)


Message édité par masklinn le 13-01-2012 à 12:18:31

---------------
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°2127408
nraynaud
lol
Posté le 20-02-2012 à 23:32:37  profilanswer
 

dites, actuellement, j'ai des virtualHosts PHP configurés comme ça :


 VirtualDocumentRoot /var/www/%0/current


 
comment je peux configurer mod_wsgi (ou peut-être autre chose, je suis pas raciste)  
pour pointer sur /var/www/%0/current/mondjango  
?


---------------
trainoo.com, c'est fini
n°2127411
Remigio
Radio Flip, 72.8
Posté le 21-02-2012 à 00:05:57  profilanswer
 

Exemple d'un vhost wsgi à moi si ça peut t'aider :
 

Citation :

<VirtualHost *:80>
    DocumentRoot /home/monsite/
    ServerName monsite.com
    ServerAlias *.monsite.com
    WSGIScriptAlias / /home/monsite/apache/django.wsgi
    ErrorLog /home/monsite/apache/log/error.log
    LogLevel debug
    CustomLog /home/monsite/apache/log/access.log common
</VirtualHost>


 
Faudrait que je protège mieux mon répertoire apache et son arbo [:ocube] Mais c'est juste pour du loisir :o
 
contenu de mon django.wsgi  
 

Citation :

import os, sys
sys.path.append('/home/monsite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'monsite.settings'
 
import django.core.handlers.wsgi
 
application = django.core.handlers.wsgi.WSGIHandler()


---------------
Everybody can succeed, all you need is to believe
n°2127413
nraynaud
lol
Posté le 21-02-2012 à 00:17:06  profilanswer
 

Remigio a écrit :

Exemple d'un vhost wsgi à moi si ça peut t'aider :
 

Citation :

<VirtualHost *:80>
    DocumentRoot /home/monsite/
    ServerName monsite.com
    ServerAlias *.monsite.com
    WSGIScriptAlias / /home/monsite/apache/django.wsgi
    ErrorLog /home/monsite/apache/log/error.log
    LogLevel debug
    CustomLog /home/monsite/apache/log/access.log common
</VirtualHost>




 
justement, je veux mettre une variable qui contienne le FQN du site à la place de <monsite> dans la directive WSGIScriptAlias


---------------
trainoo.com, c'est fini
n°2127418
nraynaud
lol
Posté le 21-02-2012 à 00:36:43  profilanswer
 

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   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)