django-contentmanager.

Um gerenciador de conteúdo simples e plugável para Django
Baixe Agora

django-contentmanager. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • BSD License
  • Preço:
  • FREE
  • Nome do editor:
  • Peter van Kampen
  • Site do editor:
  • http://datatailors.com

django-contentmanager. Tag


django-contentmanager. Descrição

Um gerenciador de conteúdo simples e plugável para Django O Django-ContentManager é o chamado "aplicativo reutilizável" para esperar por ele, gerencie o conteúdo. Ele faz isso usando plugins que podem ser espalhados por qualquer número de aplicativos, cada um fornecendo tipos específicos de conteúdo. Um plugin poderia listar as dez notícias mais populares, pratos vegetarianos mais bem avaliados ou mostrar uma galeria selecionada de um aplicativo de coleção de fotos. É claro que o Django-ContentManager também poderia ser um bloco de texto (marcado) Text.Quick StartTo Experimentar clonar o repositório e ir ao Demoproject-dir.Assuming você tem Django no seu PythonPath você deve estar funcionando com esses comandos: $. / Gerency.py syncdb --Noinput ... $. / Gerency.py runserverthen Abra seu navegador e vá para http: // localhost: 8000 / .this trará uma página bastante simples (com este readme) como um exemplo de um 'parágrafo'. Se você seguir o link 'Login', você irá para o administrador onde você pode fazer login com teste / teste. Em seu projeto normal, você teria que fornecer um mecanismo mais agradável para seus usuários entrarem (e fora), mas isso é apenas uma demonstração rápida, então eu deixarei isso como um exercício para o leitor.back em http: // localhost: 8000 / Você verá agora um link 'editmode em'. Isso ativará "EditMode" e permitirá que você adicione, edite e exclua plugins em uma maneira intuitiva. Bem na página: Não há necessidade de desligar entre admin e 'frontend', mas feedback instantâneo.Using o contentManagerto Use o contentManager em seu projeto ou aplicativo, você precisará adicionar o contentManager a seus setting_apps: Instalate_Apps = (... 'ContentManager', ...) Adicionar middleware, também em configurações.pys.middleware_classes = (... 'ContentManager.middleware.editmodemiddleware', certifique-se de que seu projeto use o processo de solicitação-context-processsor: Template_context_processors = ("django.core.context_processors.auth" "," django.core.context_processors.debug "", "django.core.context_processors.i18n" "," django.core.context_processors.media "", "Django.core.context_processores. Solicitar ") e, finalmente, inclua ContentManager.urls em seus URLs.py e executar o AutoDiscover: URLPatterns = Patterns ('', ... (R '^ ContentManager /', incluem ('ContentManager.Urls')), ...) do ContentManager Importar AutoDiscoverAutoDisVover () e conecte o ContentManager em seu (s) modelo (s): {% Load Co NTENTMANAGERTAGS%} {% bloco de conteúdo%} {% get_area pedido 'conteúdo'%} {% block block%} {% bloco sidebar%} {% get_area pedido 'a barra lateral'%} {% block block%} escrita pluginsIncluído com o demoapp São alguns exemplos de plugin simples (em basiceblocks / reveplugins.py) para fornecer a ideia básica. Para escrever seus próprios plugins que você precisa adicionar um módulo de reveplugnins ao aplicativo e subclasse do ContentManager.Plugins.Baseplugin (ou BasemodelPlugin). Os plugins mais básicos só precisam definir seu próprio método de renderização. O método de renderização é passado o objeto de solicitação e deve retornar uma string (Unicode): classe helloworld (baseplugin): def render (auto, pedido): retorne "Hello World" para tornar o plugin disponível para o contentManager e, finalmente, seus usuários que você precisa Para registrá-lo: do ContentManager Import RegistryRegistry.Register (Helloworld) Finalmente, para preencher o registro, você deve incluir o seguinte em seus projetos URLs.py :From ContentManager Importar AutoDiscoverAutoDiscover () Isso encontrará todos os módulos de reverplugins em todos os seus instalados_apps e carregar qualquer plugins registrados. Observe que os reveplugins de nomes foram escolhidos simplesmente "plugins" para evitar conflitos de nomeação. Como o ContentManager é destilado de Revecms, parecia um nome suficiente. A Revecms em si é chamada Afer Karel Van Het Reve, um escritor holandês, para não ser confundido com seu irmão Gerard, embora também seja um fino escritor.Permissionsplugins seguem o mesmo sistema de permissão que os modelos Django. Quando um plugin é registrado, o ContentManager cria automaticamente, altere e exclua permissões. Como essas permissões poderiam colidir com permissões de modelos, todas as permissões de plug-in são mantidas no namespace do ContentManager (vinculadas ao PluginTo Content_Type, se você realmente quiser saber) e é anexado com '_plugin'.for exemplo, um plug-in HTML teria o ContentManager.add_html_plugin ',' ContentManager.delete_html_plugin ',' contentmanager.delete_html_plugin'.plugins tem has_add_permission has_add_permission, has_change_permission, has_delete_permission, mas se você usar o codename adequado como explicado acima, você pode usar o sistema padrão de permissões Django em ambos os python- e templatecode.plugins também podem adicionar permissões adicionais da mesma maneira que os modelos Django são exceto que são todos "ligados" ao pluginType. Requisitos: · Pitão · Django.


django-contentmanager. Software Relacionado