0

我试图实现当用户从白板上单击图片时,它会将图片 id 的参数发送到我的函数。

这是一个例子。这显示了我所有的用户板,当他点击板时,它将带有板 id 的用户重定向到我的功能

<h4>My WHiteBoards</h4>
{% if board %} 
<ul>  
    {% for b in board %}         
    <li><a href ="{% url world:Boat b.id %}">{{ b.name }}</li>
    {% endfor %}
</ul>
{% endif %}

我正在尝试通过图像来实现相同的目标。当用户单击图像时。我想将带有图像 id 参数的用户重定向到我的函数。我会知道它是否会发生,因为我的功能会将用户重定向到我的个人资料,但问题是当用户点击图片时,它不会重定向。我认为原因是超链接和图像彼此不相关。

如何修复此错误,以便当用户单击图片时,将使用图片 ID 的参数重定向他

<li><a href ="{% url world:Like pet.id %}"><img src= "{{ pet.image.url }}">

我的观点.py

def Boat(request ,animal_id):
        if not request.user.is_authenticated():
            return HttpResponseRedirect(reverse('world:LoginRequest'))

    picture = Picture.objects.filter(whiteboard=animal_id)
    return render(request,'boat.html',{'picture':picture})

URLconf.py

    ),
    url(
        r'^(?P<picture_id>\d+)/$',
        'pet.views.Like',
        name = 'Like'
    ),

我的观点.py

def Like(request,picture_id):
    everyone = Person.objects.all()
    return render(request,'everyone.html',{'everyone':everyone,'follow':True,})

我希望这是有道理的,否则我会尝试重写它,直到它有意义为止。谢谢:]

4

1 回答 1

1

您的</li>and</a>位置不正确,它必须是:

<li>
   <a href ="{% url world:Like pet.id %}">
       <img src= "{{ pet.image.url }}" style="cursor:pointer">
   </a>
</li>

cursor:pointer在你的图片中添加了

更新:

好的,我跟踪你的代码,问题为什么你的图片什么都不做,因为like and boat has the same url address. 为什么会是一样的?即使他们有不同的网址名称。请注意浏览器中上面的地址 url,它们都返回http://localhost:8000/1/.

就像网址是:

    url(
        r'^(?P<picture_id>\d+)/$',
        'pet.views.Like',
        name = 'Like'
    ),

    //which return http://localhost:8000/1/ --> 1 is just a sample id

船的网址是:

    url(
        r'^(?P<animal_id>\d+)/$',
        'pet.views.Like',
        name = 'Like'
    ),

    //which return also http://localhost:8000/1/ --> 1 is just a sample id

为了使其有效和修复,您必须更改其中之一的 url 地址,如下所示:

    url(
        r'^like/(?P<picture_id>\d+)/$',
        'pet.views.Like',
        name = 'Like'
    ),

    //which return now as http://localhost:8000/like/1/
于 2013-03-16T07:53:59.693 回答