Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/03/2014, 14:06
Avatar de stormearth
stormearth
 
Fecha de Ingreso: octubre-2013
Ubicación: Quito
Mensajes: 68
Antigüedad: 10 años, 6 meses
Puntos: 2
Permitir a usuario eliminar sus propios post

Hola todos otra vez, primero, gracias por ayudarme en mis otras preguntas, he aprendido mucho y hasta he empezado a responder preguntas yo . Esta vez tengo un código que sí funciona pero me da la impresión de que no está correcto y además, está incompleto.

Lo que quiero hacer es que el usuario pueda eliminar sus propios posts. Entonces, en el html muestro el botón sólo si el usuario es el mismo que el autor del post:

Código:
{% if post.creador.usuario == request.user %}
<div class = "eliminar_editar">
 <div class = "btn-group dropup">
  <button data-toggle="dropdown" class="btn btn-default dropdown-toggle"><span class="glyphicon glyphicon-cog"></span>
    </button>
      <ul class="dropdown-menu">
       <li>
         <a href="{% url 'temas:eliminar_propio_post' post.id %}">Eliminar Post</a>
       </li>
       <li class = "divider"></li>
       <li>
	  <a href="#">Editar</a> <!-- -->
      </li>
    </ul>
  </div>
 </div>
{% endif %}
Luego, en el view correspondiente, cambio a True el campo "eliminado" que le di a los posts en el modelo:

Código:
@login_required
def eliminar_propio_post(request, post_id):
	post = Posts.objects.get(id=post_id)
	if post.creador.usuario == request.user:
		post.eliminado = True
		post.save()
		return redirect('temas:main')
	else:
		return redirect('temas:main')
¿Les parece lo que estoy haciendo? ¿Esta bien si no utilizo method=Post? el tema es q si utilizo method=post, debo mandar un form dentro del dropdown de bootstrap y se pierde todos sus estilos.
¿Si quiero que después de eliminar el post el usuario no se redirija a temas:main si no que se quede en la página que está debo hacerlo con AJAX, o hay alguna manera de guardar el url en el que está el usuario para luego mandar el redirect a ese url?

Última edición por stormearth; 17/03/2014 a las 14:08 Razón: corregir tabs