Apresentação e Dúvida sobre tinymce

37 views
Skip to first unread message

Gabriel Abdalla Cavalcante Silva

unread,
Oct 27, 2009, 3:31:12 PM10/27/09
to django...@googlegroups.com
Boa Tarde Pessoal,

Meu nome é Gabriel, trabalho na Empresa Insight Consultores e por
estes dias resolvi levar a sérios meus estudos sobre linguagens para
web :D. Temos hoje um site muito ruim (foi feito em ASP pela
mensbrasil, mas ficou um "lixo"), um em java (3 anos de
desenvolvimento e nunca entregaram) e resolvi fazer um novo site para
a empresa, porém dinãmico.

Escolhi django porque sempre ouvi falar bem da mesma na lista do
python-brasil e de fato constatei que é impressionante (quase fiquei
louco com os imports de campos específicos para o Brasil - CPF,
CNPJ,etc lol) e porque sempre tive vontade de utilizar a linguagem
(comecei alguns projetos com pygtk, como um gerenciador de usuários
para o samba e ldap e pretendo começar um editor visual (RAD é para
programadores profissionais :D) ao estilo "glade" para tentar fazer a
criação de modelos para o django.

Pois bem, deixando de lado as apresentações gostaria de tentar sanar
uma dúvida acerca do tinymce:

Segui as instruções do site:

http://code.djangoproject.com/wiki/AddWYSIWYGEditor

para a inserção deste ótimo editor em meu site (inicialmente só quero
retirar os TextAreas() para colocar o WYSWYG) e executei os
procedimentos descritos tendo os seguintes retornos:

No caso das "flatpages" os conteúdos gerados pelo editor estão
funcionando normalmente, edita colocando a formatação e essa
formatação aparece corretamente nas páginas (o HTML é reconhecido);

No caso de templates que simbolizam as minhas classes o conteúdo é
escrito mas TODO o conteúdo HTML (TAGS), não são renderizadas e
aparecem como parte do texto que a pessoa inseriu no tinymce.

Não consegui entender ao certo o problema, não ocorre nenhuma exceção
(tanto no server próprio no django, tanto no apache com wsgi), na view
estou utilizando o "render_to_response" e como era uma página de
comentários a variável está utilizando o filtro "linebreak".

Alguém poderia me ajudar?

Heigler

unread,
Oct 27, 2009, 4:46:02 PM10/27/09
to Django Brasil
Olá Gabriel, por padrão o Django escapa o html inserido em models do
projeto, provavelmente é esse seu problema.
Supondo que no contexto do seu template esse conteúdo seja exibido
através de um variável "content", tenta colocar o seguinte filtro:

content|safe

Abraços,

George Ribeiro

unread,
Oct 28, 2009, 1:00:49 AM10/28/09
to django...@googlegroups.com
Boa noite pessoal,

Aproveitei a discussão e fui testar aqui em casa. funcionou blz no modo simples, porém no modo
avaçando, aquele que é parecido o word, não funciona, roda blz porém quando clico em salvar ele simplesmente
não salva, é como se ele não tivesse mudando o texto, salva apenas como o texto antigo. Estou usando o salvar do admin mesmo.

O que pode ser ? Alguém já passou por isso ou só eu mesmo.

David Kwast

unread,
Oct 28, 2009, 7:21:50 AM10/28/09
to django...@googlegroups.com
2009/10/27 Heigler <lordh...@gmail.com>
Se estiver numa situação onde esta ação faça mais sentido na view ou em um método do Model, pode-se usar o django.utils.safestring.mark_safe().

Já usei muito.

http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#filters-and-auto-escaping

Gabriel Abdalla Cavalcante Silva

unread,
Oct 28, 2009, 9:19:03 AM10/28/09
to django...@googlegroups.com
Bem,

muito obrigado pelos esclarecimentos pessoal!!!

Mas isso me despertou uma dúvida:

em todass as informações de django que encontro na internet sempre
existem esclarecimento para estar sempre utilizando "escape" nas
entradas de dados; se bem entendi "escape" hoje é o comportamento
padrão então não existe a necessidade de escapar a entrada dos
usuários nos vários forms do projeto?

Desculpem pela dúvida tão trivial, mas é realmente interessante para
uma pessoa que está iniciando :P

2009/10/28 David Kwast <david...@gmail.com>:

David Kwast

unread,
Oct 28, 2009, 9:36:00 AM10/28/09
to django...@googlegroups.com
2009/10/28 Gabriel Abdalla Cavalcante Silva <gabriel.ca...@gmail.com>

> em todass as informações de django que encontro na internet sempre
> existem esclarecimento para estar sempre utilizando "escape" nas
> entradas de dados; se bem entendi "escape" hoje é o comportamento
> padrão então não existe a necessidade de escapar a entrada dos
> usuários nos vários forms do projeto?

Agora não lembro de todos os detalhes, mas o Django só deve fazer escape na renderização do template. E os forms validam os dados, de acordo com o FormField escolhido. Algumas validações podem até fazer escape, mas acho que o comportamento padrão é levantar ValidationError e devolver os dados para o usuário.

George Ribeiro

unread,
Oct 28, 2009, 11:04:45 AM10/28/09
to django...@googlegroups.com
Galera, ainda to com esse problema sem solução. Alguma dica?
 
Percebi que quando tento configurar o textarea.js, que em alguns tutorais ensinam pra personalizar o widget, ele simplesmente muda o widget, mas quando acrescento alguma coisa no texto e clico em "salvar e continuar editando" do admin ele simplesmente volta para como estava antes. Se é um novo da erro dizendo que o campo é obigatório e que eu
não coloqui nada. Sendo que eu coloquei.
 
Já tentei de tudo, desde colocar o js na classe admin do model até colocar diretamente no template do admin. De nenhuma das formas deu certo.
 
Se alguém puder ajudar fico grato. Obrigado.

Gustavo Henrique

unread,
Oct 28, 2009, 11:40:14 AM10/28/09
to django...@googlegroups.com
Segue abaixo um exemplo bem simples usando o tinymce com flatpages.
Basta descompactar e executar o syncdb. Após isso, entra na interface
do admin (http://localhost:8000/admin).

http://www.gustavohenrique.net/files/django/cdriver.tar.gz

--
Gustavo Henrique
blog.gustavohenrique.net

George Ribeiro

unread,
Oct 28, 2009, 2:09:36 PM10/28/09
to django...@googlegroups.com

Brigadão Gustavo, vo estudar o seu exemplo. Valeu Cara!!!

George Ribeiro

unread,
Oct 28, 2009, 4:52:12 PM10/28/09
to django...@googlegroups.com
Consegui resolver o problema pessoal.
 
Aqui vai a solução para uma consulta futura sobre o assunto:
 
 
De alguma forma, quando coloquei o widget do texo para ser o tinymce não salvava, apenas no modo simples, quando criava o arquivo textareas.js não salvava mais. No caso foi apenas tirar o widget e deu tudo certo.
 
Obrigado galera e obrigado Gustavo pelo exemplo, depois de estudar seu código que percebi meu erro. Valeu...

Guilherme Carvalho

unread,
Oct 28, 2009, 6:15:48 PM10/28/09
to django...@googlegroups.com
No caso este arquivo seria o forms ou o models do aplicação que você quer alterar?

Atenciosamente,

Guilherme de Carvalho Carneiro

2009/10/28 George Ribeiro <georg...@gmail.com>

George Ribeiro

unread,
Oct 28, 2009, 10:17:10 PM10/28/09
to django...@googlegroups.com
Cara, foi o admin.py que eu alterei.

Apenas tirei o atributo texto que estava com o widget do tinymce,
depois funfou blz.

Desculpa se não for comigo que vc estiver falando.

Abraços.

Em 28/10/09, Guilherme Carvalho<desenvol...@gmail.com> escreveu:

Wisley Milhomem

unread,
Oct 29, 2009, 12:39:12 PM10/29/09
to Django Brasil
bem eu consegui, mas tem uma coisa acontecendo, quando clico em
adicionar ele abre o formulario mas não aparece a barra do tiny_mce,
mas se der um refresh na pagina ela aparece. Aconteceu com alguem ae ?

On 28 out, 23:17, George Ribeiro <george....@gmail.com> wrote:
> Cara, foi o admin.py que eu alterei.
>
> Apenas tirei o atributo texto que estava com o widget do tinymce,
> depois funfou blz.
>
> Desculpa se não for comigo que vc estiver falando.
>
> Abraços.
>
> Em 28/10/09, Guilherme Carvalho<desenvolvedor....@gmail.com> escreveu:
>
>
>
> > No caso este arquivo seria o forms ou o models do aplicação que você quer
> > alterar?
>
> > Atenciosamente,
>
> > Guilherme de Carvalho Carneiro
>
> > 2009/10/28 George Ribeiro <george....@gmail.com>

George Ribeiro

unread,
Oct 29, 2009, 2:40:32 PM10/29/09
to django...@googlegroups.com


2009/10/29 Wisley Milhomem <wisleyc...@gmail.com>


bem eu consegui, mas tem uma coisa acontecendo, quando clico em
adicionar ele abre o formulario mas não aparece a barra do tiny_mce,
mas se der um refresh na pagina ela aparece. Aconteceu com alguem ae ?


Faz como eu. Estuda os fontes que o Gustavo disponibilizou, vai ver é um erro de nada.

Wisley Milhomem...

unread,
Oct 29, 2009, 2:43:49 PM10/29/09
to django...@googlegroups.com
bug do chrome
valeus

2009/10/29 George Ribeiro <georg...@gmail.com>:
--



___________________________________________________________________
Wisley Cristiano de Souza Milhomem
Coord. T.I - Sec. de Indústria e Comércio - TO.
--------------------------------------------------------------------
Sistemas de Informação - Ceulp/Ulbra
Matricula: 061003243-7

Wisley Milhomem

unread,
Oct 30, 2009, 9:23:23 AM10/30/09
to Django Brasil
utilizei {noticia.conteudo} dentro do template, mas ele mostra o
código html salvo pelo tynmce e não renderiza a página, como
proceder ?

On 29 out, 15:43, "Wisley Milhomem..." <wisleycristi...@gmail.com>
wrote:
> bug do chrome
> valeus
>
> 2009/10/29 George Ribeiro <george....@gmail.com>:
>
>
>
> > 2009/10/29 Wisley Milhomem <wisleycristi...@gmail.com>

Gustavo Henrique

unread,
Oct 30, 2009, 9:25:22 AM10/30/09
to django...@googlegroups.com
{noticia.conteudo|safe}


--
Gustavo Henrique
blog.gustavohenrique.net

Wisley Milhomem...

unread,
Oct 30, 2009, 9:30:03 AM10/30/09
to django...@googlegroups.com
=)
valeu

2009/10/30 Gustavo Henrique <gusta...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages