Hay varias cosas que se que no estoy haciendo bien, una de ellas es que no almacena con las pistas el autor, ni siquiera ha creado en la tabla un campo para ello, algo estoy haciendo mal con el model. foreignkey user. Seria de gran ayuda si alguien me da una orientacion sobre esto.
Mi otra y principal duda es que cuando entre en pistas.html deberian de salir desplegados con casillas todos los generos permitiendo pulsar en varios y realizar una busqueda de pistas en funcion de los generos seleccionados. En este momento solamente despliega todas las pistas.
No se si esto debe de hacerse con un form o como debe hacerse, pido tambien en esto un poco de ayuda.
Aqui esta mi código de la app música.
models.py**************************
Código:
views.py********************************from django.db import models from django.contrib.auth.models import User # Create your models here. class generos(models.Model): nombre = models.CharField(max_length=250) def __unicode__(self): return self.nombre class instrumentos(models.Model): nombre = models.CharField(max_length=250) def __unicode__(self): return self.nombre class pista(models.Model): def url(self,filename): ruta = "Pistas/%s/%s"%(self.nombre.str(filename)) return ruta nombre = models.CharField(max_length=200) descripcion = models.TextField(max_length=300) audio = models.FileField(upload_to='pistas') autor = models.ForeignKey(User) status = models.BooleanField(default=True) generos = models.ManyToManyField(generos, related_name='pistas') instrumentos = models.ManyToManyField(instrumentos, related_name='pistas') def __unicode__(self): informacionPista = "%s %s"%(self.nombre,self.audio) return informacionPista
Código:
pistas.html***********from django.shortcuts import render_to_response from django.template import RequestContext from impromusic.apps.musica.forms import subirpistaForm from impromusic.apps.musica.models import pista from django.http import HttpResponseRedirect from django.core.urlresolvers import reverse def subir_pista_view(request): info = "Inicializando" if request.user.is_authenticated(): if request.method == "POST": form = subirpistaForm(request.POST, request.FILES) if form.is_valid(): nombre = form.cleaned_data['nombre'] descripcion = form.cleaned_data['descripcion'] audio = request.FILES['audio'] p = pista() p.nombre = nombre p.descripcion = descripcion p.audio = audio p.status = True p.save() info = "Se guardo satisfactoriamente" else: info = "informacion con datos incorrectos" form = subirpistaForm() ctx = {'form':form, 'informacion':info} return render_to_response('musica/subirpista.html',ctx,context_instance=RequestContext(request)) else: return HttpResponseRedirect('/')
Código:
{% extends 'base.html' %} {% block title %}Lista de pistas ...{% endblock %} {% block content %} <h1>Pistas</h1> <br> {% if user.is_authenticated %} <a href="{% url 'vista_subir_pista' %}">Subir tu cancion</a> {% endif %} {% if pistas %} {% for p in pistas %} <p><a href="/pista/{{p.id}}/">{{p.nombre}}</a></p> {% endfor %} {% else %} <h2>No hay pistas activas</h2> {% endif %} {% endblock %}