IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zope Python Discussion :

[Zope] Problème avec un produit python sous Zope


Sujet :

Zope Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 8
    Points
    8
    Par défaut [Zope] Problème avec un produit python sous Zope
    bonjour à tous

    voici le code de mes deux fichiers composant mon produit Zope

    __init__.py :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    import ZHelloWorld
     
     
    meta_types=(
    		{
    			'name' : 'ZHelloWorld',
    			'action' : 'manage_addZHelloWorldForm' },
    )
     
    methods={
    	'manage_addZHelloWorldForm' : ZHelloWorld.addZHelloWorldForm,
    	'manage_addZHelloWorld' : ZHelloWorld.addZHelloWorld,
    	}
     
    __ac_permissions__=(('Add ZHelloWorld', ('addZHelloWorldForm', 'addZHelloWorld')),)
     
    misc_={
    	'ZHelloWorldIcon' : ImageFile('www/ZHelloWorldIcon.GIF', globals()),
    }
    ZHelloWorld.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    import Globals
    from Globals import HTMLFile
    from OFS import SimpleItem
     
     
     
    class ZHelloWorld(SimpleItem.Item) :
    	"""Produit pour appredre"""
     
    	meta_type='Hello, World'
     
    	manage_options=(
    		{'label' : 'View', 'action' : 'render'},
    	)
     
    	def addZHelloWorldForm(self) :
    		return HTMLFile('dtml/ZHelloWorldaddForm', globals())
     
    	def __init__(self, id) :
     
    		"""Constructeur, méthode d'initialisation"""
    		self.id=id
     
     
    	def __call__(self, client=None, REQUEST={}, RESPONSE=None, **kw) :
     
    		""" __call__() -> string. Méthode appelée lors de l'invocation par <dtml-var >. Chargé de renvoyer la chaîne à afficher."""
    		return self.render()
     
     
    	def manage_addZHelloWorld(self, id, RESPONSE=None) :
    		"""manage_addZHelloWorld() -> nothing. Insère l'objet dans son conteneur et retourne la page index_html"""
    		self._setObject(id, ZHelloWorld(id))
    		RESPONSE.redirect('index_html')
     
    	def render(self) :		
    		"""render(self)-> string. Retourne la cahîne formatée en HTML"""
    		return "<b>Hello World !</b>"
    Toutes les bonnes idées sont les bienvenue

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 8
    Points
    8
    Par défaut J'avais oublier le msg d'erreur
    Traceback (most recent call last):
    File "C:\Program Files\Zope-2.8.5-final\lib\python\OFS\Application.py", line 698, in import_product
    product=__import__(pname, global_dict, global_dict, silly)
    File "C:\Zope-Instance\Products\ZHelloWorld\__init__.py", line 10, in ?
    methods={
    AttributeError: 'module' object has no attribute 'addZHelloWorldForm'

  3. #3
    Membre averti
    Avatar de Alain_72
    Inscrit en
    Août 2004
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 180
    Points : 342
    Points
    342
    Par défaut
    Ca vient de l'import du fichier __init__.py

    Soit tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from ZHelloWorld import ZHelloWorld
    soit tu modifies ta déclaration de "methods" comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    methods={
       'manage_addZHelloWorldForm' : ZHelloWorld.ZHelloWorld.addZHelloWorldForm,
       'manage_addZHelloWorld' : ZHelloWorld.ZHelloWorld.addZHelloWorld,
       }

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    bah ça n'a pas règlé le problème maintenant le message d'erreur c'est :


    Traceback (most recent call last):
    File "C:\Program Files\Zope-2.8.5-final\lib\python\OFS\Application.py", line 698, in import_product
    product=__import__(pname, global_dict, global_dict, silly)
    File "C:\Zope-Instance\Products\ZHelloWorld\__init__.py", line 10, in ?
    methods={
    AttributeError: type object 'ZHelloWorld' has no attribute 'addZHelloWorld'

  5. #5
    Membre averti
    Avatar de Alain_72
    Inscrit en
    Août 2004
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 180
    Points : 342
    Points
    342
    Par défaut
    Citation Envoyé par matt44
    bah ça n'a pas règlé le problème maintenant le message d'erreur c'est :


    Traceback (most recent call last):
    File "C:\Program Files\Zope-2.8.5-final\lib\python\OFS\Application.py", line 698, in import_product
    product=__import__(pname, global_dict, global_dict, silly)
    File "C:\Zope-Instance\Products\ZHelloWorld\__init__.py", line 10, in ?
    methods={
    AttributeError: type object 'ZHelloWorld' has no attribute 'addZHelloWorld'
    Tu n'as défini aucune méthode addZHelloWorld() dans ta classe ZHelloWorld, alors que dans la déclaration methods de ton fichier tu y fais référence.

    Changes donc la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        def manage_addZHelloWorld(self, id, RESPONSE=None) :
    dans ton fichier ZHelloWorld.py, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        def addZHelloWorld(self, id, RESPONSE=None) :

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. configuration de pinkimage avec le support python sous ubuntu 13.04
    Par jean-pat dans le forum Déploiement/Installation
    Réponses: 0
    Dernier message: 20/06/2013, 12h25
  2. script PHP dans script python sous zope
    Par kck61 dans le forum Zope
    Réponses: 1
    Dernier message: 18/07/2012, 18h25
  3. import dans les script python (objet zope)
    Par cronos6 dans le forum Zope
    Réponses: 5
    Dernier message: 10/09/2006, 15h47
  4. Réponses: 3
    Dernier message: 05/04/2005, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo