NicEdit no Admin do Django

Postado em: Setembro 4, 2008
Tags: django, python
Depois de muito tempo sem postar algo aqui, devido a trabalho, faculdade e vícios em geral, eu resolvi fazer um pequeno tutorial de como usar um WYSIWYG, o que eu usarei neste artigo e que gostei muito dele é o NicEdithttp://nicedit.com [nicedit.com], ele é leve e bem pratico, e fácil de incorporar ao admin do Django.

O NicEdit é constituído de dois arquivos, o nicEdit.js e o nicEditorIcons.gif nos quais você deve telos em sua pasta media, geralmente em media/js.
Em seu arquivo admin.py (lembrando que esse somente é usado na versão 1.x do django) acrescente o nicEdit.js como o exemplo a baixo.
class SeuModeloAdmin(admin.ModelAdmin):
    class Media:
        js = ('js/nicEdit.js',
              'js/nicConf_seumodelo.js',)


Bom você deve ter reparado um arquivo a mais, o nicConf_seumodelo.js, bom esse arquivo eu criei ele com esse nome, você pode cria-lo com o nome que quiser, o motivo desse arquivo é especificar em quais textareas o nicedit vai atuar, vamos ao exemplo do arquivo.
bkLib.onDomLoaded(function() {
    new nicEditor({
            iconsPath : '/media/js/nicEditorIcons.gif',
            fullPanel : true
        }).panelInstance('id_sua_textarea');
});

Esse código diz ao nicedit que ao carregar a página ele deve adicionar seus recursos ao topo do textarea, nesse caso eu especifico o arquivo contendo as imagens dos ícones do painel que ele ira adicionar, se conterá todas as opções e por fim qual textarea ele devera fazer essas alterações. Os campos adicionados pelo newforms (forms) normalmente são atribuídos com a seguinte ID id_campo_do_model por exemplo id_comentarios.

Muito simples e bem útil, espero que aproveitem.
Até a próxima!


Não será divulgado!

Um site válido!

Francisco em Setembro 10, 2008

Grande post! Não conhecia esse NicEdit! O jeito que tinha dado para colocar um editor richtext num site Django era pegar um código de Javascript e criar uma página específica para criação de posts. Valeu pela dica, T+

Érico em Novembro 10, 2008

Rs Nunca me dei com js.
to tentando aqiu e nada.
copiei os arquivos para minha pasta JS dentro do media.
admin.py
class FraseAdmin(admin.ModelAdmin):
___pass
___class Media:
______js = ('/js/nicEdit.js',
_________js/nicConf_frase.js',)_
___list_display = ('frase', 'autor')
___search_fields = ['auto']
admin.site.register(Frase, FraseAdmin)

nicConf_frase.js
como esta acima, só que com o meu id do textarea id_frase

Klaus Laube em Janeiro 7, 2009

Olá Rafael!

Grande post! Utilizo hoje o TinyMCE como WYSIWYG... mas adorei o serviço de upload com o ImageShack do NicEdit, genial!

Outros

Hospedagem gratuitamente cedida pela TeHospedo - Hospedagem de sites, registro de dominios, revenda de hospedagem, streaming
TeHospedo - Hospedagem de sites, registro de dominios, revenda de hospedagem, streaming

django donated

Divulgue o Nerdson

Firefox 3 - Brazil

BlogBlogs

Add to Technorati Favorites

Django
Desenvolvido com Django, Aptana, Gimp, Inkscape | Rafael Campos de Bastiani - RFDev.org - 2008