2016-11-02 2 views
0

J'essaie d'apprendre Django Cms mais c'est là que je suis coincé. Dans le code suivant de la documentation officielle de Django CMS Lien: - http://docs.django-cms.org/en/release-3.4.x/introduction/plugins.htmlqu'est-ce que cette ligne indique: - module = _ ("Polls") dans Django CMS PollPluginPublisher

from cms.plugin_base import CMSPluginBase 
from cms.plugin_pool import plugin_pool 
from polls_cms_integration.models import PollPluginModel 
from django.utils.translation import ugettext as _ 


class PollPluginPublisher(CMSPluginBase): 
    model = PollPluginModel # model where plugin data are saved 
    module = _("Polls") 
    name = _("Poll Plugin") # name of the plugin in the interface 
    render_template = "polls_cms_integration/poll_plugin.html" 

    def render(self, context, instance, placeholder): 
     context.update({'instance': instance}) 
     return context 

plugin_pool.register_plugin(PollPluginPublisher) # register the plugin 

Je suis incapable d'obtenir l'utilisation du module de ligne = _ ("Sondages")

Répondre

0
from django.utils.translation import ugettext as _ 

Django I18N documentation

Afin de rendre un projet Django translatable, vous devez ajoutez un nombre minimal de hooks à votre code et vos templates Python. Ces crochets sont appelés chaînes de traduction. Ils disent à Django: "Ce texte devrait être traduit dans la langue de l'utilisateur final, si une traduction pour ce texte est disponible dans cette langue." Il est de votre responsabilité de marquer les chaînes traduisibles; le système ne peut traduire que les chaînes qu'il connaît.

...

spécifier une chaîne de traduction en utilisant la fonction ugettext(). Il est convention d'importer ceci sous la forme d'un alias plus court, _, pour économiser la frappe.

+0

Merci Ignacio Vazquez-Abrams mais pouvez-vous dire pourquoi la variable "module" est utilisée car elle n'est pas mentionnée dans la documentation. –

+0

Non. Je ne sais pas comment fonctionne le CMS Django. –

+1

@ShashishekharHasabnis La variable de module indique au cms où grouper votre plugin. Par exemple, si vous avez une application avec beaucoup de plugins, vous voudrez que ces plugins soient regroupés sous un nom spécifique. Lorsque le module n'est pas fourni, les plugins sont regroupés sous un nom "Générique". – Paulo