Foros del Web » Programando para Internet » Python »

Agregar llamada ajax admin django

Estas en el tema de Agregar llamada ajax admin django en el foro de Python en Foros del Web. Quiero ejecutar una llamada ajax en el admin cuando hago click en el campo titulo del modelo contenidos, por lo tanto el codigo me quedo ...
  #1 (permalink)  
Antiguo 10/10/2012, 18:41
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 8 meses
Puntos: 4
Agregar llamada ajax admin django

Quiero ejecutar una llamada ajax en el admin cuando hago click en el campo titulo del modelo contenidos, por lo tanto el codigo me quedo de esta forma:

admin.py

Código:
from proyecto.models import Categoria, Contenido, Foto
from django.contrib import admin
from django.conf.urls import patterns
from django.http import HttpResponse

class ContenidoAdmin(admin.ModelAdmin):
    list_display = ('titulo', 'fecha')
    search_fields = ['titulo']
    date_hierarchy = 'fecha'
    
    class Media:
        js = ("admin/js/youtube_data.js",)
        
    def get_urls(self):
        urls = super(ContenidoAdmin, self).get_urls()
        my_urls = patterns('',
            (r'^youtube_data/$', self.admin_site.admin_view(self.youtube_data))
        )
        return my_urls + urls
    
    def youtube_data(self,request):
        html = "<html><body>Proyecto interesante</body></html>"
        return HttpResponse(html)

admin.site.register(Categoria)
admin.site.register(Contenido, ContenidoAdmin)
admin.site.register(Foto)
youtube_data.js

Código:
(function($) {
    $(document).ready(function($) {
    	$("#id_titulo").click(function() {
    		$('#id_descripcion').load('{% url proyecto.admin_view.youtube_data %}');
    	});
    });
})(django.jQuery);
Tengo dos errores, el primero, creria que debo quitar el js y situar el codigo dentro de change_form.html para que la llamada tenga efecto. "{% url proyecto.admin_view.youtube_data %}'"

Y el segundo es la llamda a la vista desde el javascript, como seria la sintaxis correcta ???

Para que se entienda un poco mejor:



Gracias.

Última edición por WebDeveloperZ; 10/10/2012 a las 18:55
  #2 (permalink)  
Antiguo 11/10/2012, 17:19
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Agregar llamada ajax admin django

Solamente asegúrate que admin/js/youtube_data.js este en media o static (depende de como lo tengas configurado).

En esta parte:
Código Javascript:
Ver original
  1. $('#id_descripcion').load('{% url proyecto.admin_view.youtube_data %}');
Esa no es la manera correcta de hacerlo.

Tienes que especificarle la url relativa. Ejemplo: /admin/youtube_data/
Código Javascript:
Ver original
  1. $('#id_descripcion').load('/admin/youtube_data');

Etiquetas: admin, ajax, django, import, llamada
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:59.