Python django.url.exceptions.NoReverseMatch:与#x27相反;最爱';找不到
Django版本2.0 views.pyPython 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
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 %}
请有人帮我找出我错的地方!提前谢谢 我在这里看不到任何名为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">