我正在开发一个简单的应用程序,宠物用户可以在其中创建关于他们的宠物的板并在板上显示图片。
我正在尝试创建一个功能,用户可以在其中单击他们的看板,这会将他们重定向到他们的看板,这将显示他们所有的宠物图片。
当我尝试配置模板以将用户重定向到他们的看板时出现错误。
Reverse for 'Boat' with arguments '('',)' and keyword arguments '{}' not found.
Django Version: 1.4.3
Exception Type: NoReverseMatch
Exception Value: Reverse for 'Boat' with arguments '('',)' and keyword arguments '{}' not found.
Error during template rendering
In template C:\o\mysite\pet\templates\edit.html, error at line 14
13 {% for b in board %}
14 <li><a href ="{% url world:Boat animal.id %}">{{ b.name }}</li>
我认为问题就在这里当用户点击一个板时。我的 URLconf 将捕获 animal.id 并将其传递给我的 Boat 函数,但我不确定出了什么问题
<li><a href ="{% url world:Boat animal.id %}">{{ b.name }}</li>
我的edit.html
<h4>My Boards</h4>
{% if board %}
<ul>
{% for b in board %}
<li><a href ="{% url world:Boat animal.id %}">{{ b.name }}</li>
{% endfor %}
</ul>
{% endif %}
我的主要 URLconf
urlpatterns = patterns('',
url(
r'^admin/',
include(admin.site.urls)
),
url(
r'^',
include('pet.urls',
namespace = 'world')
),
我的宠物应用程序 URLconf 的一部分
url(
r'^(?P<animal_id>\d+)/$',
'pet.views.Boat',
name = 'Boat',
),
我的观点.py
def Profile(request):
if not request.user.is_authenticated():
return HttpResponseRedirect(reverse('world:LoginRequest'))
if request.method == 'POST':
form = PersonForm(request.POST, request.FILES)
if form.is_valid():
person = Person.objects.get(user=request.user)
person.image = form.cleaned_data['image']
person.name = form.cleaned_data['name']
person.save()
return render(request,'profile.html',{'form': PersonForm()})
def Boat(request ,animal_id):
if not request.user.is_authenticated():
return HttpResponseRedirect(reverse('world:LoginRequest'))
picture = Picture.objects.filter(board=animal_id)
return render(request,'boat.html',{'picture':picture})
感谢你们对我的帮助 :]
我的更多观点.py
def Display(request):
if not request.user.is_authenticated():
return HttpResponseRedirect(reverse('world:LoginRequest'))
board = Board.objects.filter(user=request.user)
person = Person.objects.get(user=request.user)
return render(request,'edit.html',{'board':board ,'person':person})
我的模型.py
class Person(models.Model):
user = models.ForeignKey(User)
name = models.CharField(max_length=100)
image = models.FileField(upload_to="images/",blank=True,null=True)
following = models.ManyToManyField('self', related_name='followers', symmetrical=False, blank=True, null=True)
def __unicode__(self):
return self.name
class Board(models.Model):
user = models.ForeignKey(User)
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name