如何解决我的djago网址中的此错误?

时间:2019-12-22 21:46:33

标签: html django-models django-forms django-views

我正在尝试创建一个链接,当您单击该链接时,它将为电影添加一票。 问题是,当我单击链接时,它会添加投票,但不会重定向到同一页面,并且显示此错误: / myapp2 / 10/1 /处的NoReverseMatch 反向查找“ detallesPelicula”,未找到任何参数。尝试了1个模式:['myapp2 /(?P [0-9] +)/ $']

Views.py

@csrf_exempt
def likesDislikesPelicula(request,peliculaid,votousuario):

 if request.method =="POST":
    eachpelicula= get_object_or_404(Pelicula, id=peliculaid)

    obj= ''
    valor = ''

    try:
        obj = Likes.objects.get(usuario= request.user, pelicula=eachpelicula)
        valor= 0

        valor= int(valor)

        votousuario=int(votousuario)

        if valor != votousuario:
            obj.delete()
            votop = Likes()
            votop.usuario= request.user

            votop.pelicula=eachpelicula
            votop.voto = votousuario
            if votousuario ==1 and valor !=1:
                eachpelicula.likes +=1
            #    eachpelicula.dislikes -=1
            elif votousuario== -1 and valor !=-1:
                eachpelicula.dislikes +=1
            #    eachpelicula.likes -=1
            votop.save()
            eachpelicula.save()

            context={'peliculaid': peliculaid,'votousuario':votousuario}

           # return redirect('detallesPelicula')
        elif valor == votousuario:
            obj.delete()
            if votousuario ==1:
                eachpelicula.likes -=1

            elif votousuario== -1:
                eachpelicula.dislikes -=1

            eachpelicula.save()
            context={'peliculaid': peliculaid,'votousuario':votousuario}

         #   return render(request,'detallesPelicula.html',context)
    except Likes.DoesNotExist:
       votop = Likes()

       votop.usuario= request.user

       votop.pelicula=eachpelicula

       votop.voto = votousuario

       votousuario=int(votousuario)

       if votousuario ==1:
         eachpelicula.likes +=1

       elif votousuario== -1:
            eachpelicula.dislikes +=1

       votop.save()

       eachpelicula.save()

       context={'peliculaid': peliculaid,'votousuario':votousuario}

     #  return render(request,'detallesPelicula.html',context)
else:
    eachpelicula= get_object_or_404(Pelicula, id=peliculaid)
    context={'peliculaid': peliculaid,'votousuario':votousuario}

#return render(request,'detallesPelicula.html',上下文)     返回重定向('detallesPelicula')

urls.py

from django.urls import path
from django.conf.urls import url
from . import views

urlpatterns = [
   path('<int:peliculaid>/<int:votousuario>/', views.likesDislikesPelicula, 
   name='likesDislikesPelicula'), #Path del submit

]

models.py

class Pelicula(models.Model):
titulo = models.CharField(max_length=50)
descripcion = models.CharField(max_length=100)
fecha_estreno = models.DateField('fecha de estreno')
urlPortada = models.URLField(max_length=1000, default="")
trailer = models.URLField(max_length=1000, default="")
urlPagina = models.URLField(max_length=1000, default="")
nota = models.CharField(max_length=5, default=0)
genero = models.ForeignKey(Genero, on_delete=models.CASCADE)
director = models.ForeignKey(Director, on_delete=models.CASCADE)
likes = models.IntegerField(default=0)
actor = models.ManyToManyField(Actor)
fecha = models.DateField('fecha')

def __str__(self):
    return self.titulo

{% extends "base.html" %}
{% load staticfiles %}
{% load i18n %}
{% block titulo %} Dettalles de la Pelicula {% endblock %}
{%block menu%}
            <li><a href="{% url 'index'%}">{% trans "Inicio" %}</a></li>
            <li class="current"><a href="{% url 'getPeliculas' %}">{% trans "Peliculas" %}</a></li>
            <li><a href="{% url 'getActores'%}">{% trans "Actores" %}</a></li>
            <li><a href="{% url 'getDirectores'%}">{% trans "Directores" %}</a></li>
            <li><a href="{% url 'getProximas'%}">{% trans "Proximamente" %}</a></li>
            <li></li>
            
{% endblock %}

{% block contenido %}


	<ul>
    <h3><img src={{pelicula.urlPortada}} width="600" height="600"/></h3>
    <h1>{{pelicula.titulo}}</h1>
    <li></li>
	<h3>{% trans "Fecha de estreno:" %} {{pelicula.fecha_estreno}}</h3>
	<li></li>
    <li></li>
    <h2>{% trans "Descripcion:" %}</h2>
    <h3>{{pelicula.descripcion}}</h3>
	<li></li>
    <li></li>
    <li></li>
    <li></li>
    <iframe width="560" height="315" src="{{ pelicula.trailer }}?rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <h2>{% trans "Actores:" %}</h2>
    {% for a in pelicula.actor.all %}
    <a href="{% url 'detallesActor' a.id %}"><h3>{{a.nombre}}</h3></a></li>
    {% endfor %}
        
    <li></li>
    <li></li>
    
    <h2>{% trans "Director:" %}</h2>
    
    <a href="{% url 'detallesDirector' pelicula.director.id %}"><h3>    {{pelicula.director.nombre}}</h3></a>
    <li></li>
	<li></li>
    </ul>
    
    <!-- LikeBtn.com BEGIN -->
    <!--   <span class="likebtn-wrapper" data-identifier="item_1"></span>
    
    <script>
    (function(d,e,s){if(d.getElementById("likebtn_wjs"))
        return;
        a=d.createElement(e);
        m=d.getElementsByTagName(e)[0];
        a.async=1;
        a.id="likebtn_wjs";
        a.src=s;m.parentNode.insertBefore(a, m)})
        (document,"script","//w.likebtn.com/js/w/widget.js");
        </script> -->
  
    <!-- LikeBtn.com END -->
<a href="/myapp2/{{pelicula.id}}/1/" onClick="document.getElementById('likebutton').submit()">Me gusta:</a> {{pelicula.likes}} usuarios han votado que les gusta.

<form id="likebutton" method="POST" action="/myapp2/{{pelicula.id}}/1/">
{% csrf_token %}
<input type="hidden">
</form>
{% endblock %}

form of html

<!-- begin snippet: js hide: false console: true babel: false -->

0 个答案:

没有答案