Felipe, boa tarde!
Tentei inserir o codigo que você me enviou na view, mas vou ter que estudar mais para fazer funcionar, dá uma ohada como ficou a view abaixo:
@login_required
def adicionarNoticia(request):
if request.method == "POST":
form = FormNoticia(request.POST, request.FILES)
perfil_logado = get_perfil_logado(request)
if(perfil_logado.tipo_perfil == 'Jornalista'):
eh_jornalista = true
else:
eh_jornalista = false
if form.is_valid():
form.save()
return render_to_response('salvo.html', {})
else:
form = FormNoticia()
return render_to_response('adicionanoticia.html', {'form': form,'perfil' : perfil, 'perfil_logado' : get_perfil_logado(request) , 'eh_jornalista' : eh_jornalista },
context_instance=RequestContext(request))
E a classe forms.Models que utiliza os atributos da classe model Noticia para montar o formulário é está:
class FormNoticia(forms.ModelForm):
class Meta:
model = Noticia
No caso teria que inserir no html abaixo assim:
{% extends "base.html" %}
{% block body %}
"<form action="" method="post">"
{% csrf_token %}
{{ form.as_p }}
{% if eh_jornalista %}
" <input type="text" name="status" value="Proposta" readonly="true">"
{% else %}
"<input type="text" name="status">"
{% endif %}
"<button type="submit">Adicionar</a></button> ou <a href="/listanoticias/">Cancelar</a>"
"</form>"
{% endblock %}
Deu para entender a indentação, estou no caminho certo.
Obrigdado!
Alysson