Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django.url.exceptions.NoReverseMatch:与#x27相反;最爱';找不到_Python_Django_Django Models_Django Templates_Frameworks - Fatal编程技术网

Python django.url.exceptions.NoReverseMatch:与#x27相反;最爱';找不到

Python django.url.exceptions.NoReverseMatch:与#x27相反;最爱';找不到,python,django,django-models,django-templates,frameworks,Python,Django,Django Models,Django Templates,Frameworks,Django版本2.0 views.py from django.views import generic from .models import Album class IndexView(generic.ListView): template_name = 'music/index.html' context_object_name = 'all_albums' def get_queryset(self): return Album.objec

Django版本2.0

views.py

from django.views import generic
from .models import Album


class IndexView(generic.ListView):
    template_name = 'music/index.html'
    context_object_name = 'all_albums'

    def get_queryset(self):
        return Album.objects.all()

class DetailView(generic.DetailView):
    model = Album
    template_name = 'music/details.html'
details.html

{% extends 'music/base.html' %}

{% block body %}

    <!-- {{album}} -->

    <img src="{{album.album_logo}}">

    <h1>{{album.album_title}}</h1>
    <h3>{{album.artist}}</h3>



    {% if error_message %}
        <p><strong>{{ error_message }}</strong></p>
    {% endif %}    

    <form action="{% url 'music:favorite' album.id %}" method="post">
        {% csrf_token %}
        {% for song in album.song_set.all %}
            <input type="radio" id="song{{ forloop.counter }}" name="song" value="{{ song.id }}">
            <label for="song{{ forloop.counter }}">
                {{ song.song_title }}
                {% if song.is_favorite %}
                    <img src="http://i.imgur.com/b9b13Rd.png" />
                {% endif %}
            </label><br> 
        {% endfor %}
        <input type="submit"  value="Favorite">

    </form>
{% endblock %}
  • 我附上了我的主页和链接页面的图片, 请帮我解决这个问题

  • 在上面的代码中,第二页向我抛出了一个错误

    django.urls.exceptions.NoReverseMatch:找不到“收藏夹”的相反名称“收藏夹”不是有效的视图函数或模式名称**


    请有人帮我找出我错的地方!提前谢谢

    我在这里看不到任何名为favorite的url,这也是错误告诉您的:

    app_name = 'music'
    
    urlpatterns = [
    
    
        url(r'^$',views.IndexView.as_view(), name='index'),
    
        url(r'^(?P<pk>[0-9]+)/$',views.DetailView.as_view(), name='details'),
    
    ]
    
    app_name='music'
    URL模式=[
    url(r'^$',views.IndexView.as_view(),name='index'),
    url(r'^(?P[0-9]+)/$,views.DetailView.as_view(),name='details'),
    ]
    
    您可能复制粘贴了details.html,或者您只是忘记在应用程序“music”中指定“favorite”url

    编辑: 正如您澄清的,您无法解决onw上的问题: 将details.html更改为:

    <form action="{% url 'music:favorite' album.id %}" method="post">
    
    
    
    换成

    <form action="#" method="post">
    
    
    
    您的站点至少应该加载

    编辑2:

    观看您在评论中链接的youtube视频后: 所有答案都在视频及其评论中! 您没有更新details.html。密切关注min周围的情况。 顺便说一句,我的替换表单操作的解决方案也会起作用,但是输出将与您可能期望的略有不同。。。 我希望这会让你开始;)

    我根据本教程制作了这个webapp,没有名为favorite的url。实际上我被卡住了。请帮帮我
    from django.db import models
    
    
    
    class Album(models.Model):
        artist = models.CharField(max_length=250)
        album_title=models.CharField(max_length=500)
        genre=models.CharField(max_length=100)
        album_logo=models.CharField(max_length=1000)
    
    
        def __str__(self):
            return self.album_title + ' - ' + self.artist
    
    class Song(models.Model):
        album = models.ForeignKey(Album, on_delete=models.CASCADE)
        file_type = models.CharField(max_length=10)
        song_title = models.CharField(max_length=250) 
        is_favorite = models.BooleanField(default=False)
    
    
        def __str__(self):
            return self.song_title
    
    app_name = 'music'
    
    urlpatterns = [
    
    
        url(r'^$',views.IndexView.as_view(), name='index'),
    
        url(r'^(?P<pk>[0-9]+)/$',views.DetailView.as_view(), name='details'),
    
    ]
    
    <form action="{% url 'music:favorite' album.id %}" method="post">
    
    <form action="#" method="post">