Django-Tables2 LinkColumn链接不起作用 [英] Django-Tables2 LinkColumn link doesn't work

查看:33
本文介绍了Django-Tables2 LinkColumn链接不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我认为我在这里遗漏了一些明显的东西,但是我已经坚持了很长时间,所以我不得不发布问题.

I think I'm missing something obvious here, but I've been stuck at this for so long, I had to post the question.

链接到屏幕截图

  1. 当我单击django-tables2的LinkColumn中生成的链接时,它会重定向回到同一页面.这是我的代码:

urls.py:

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'admin', views.admin, name='admin'),
    url(r'admin/edit/(?P<pk>\d+)/', views.bug_edit, name='bug_edit'),
    url(r'admin/delete/(?P<pk>\d+)/', views.bug_delete, name='bug_delete'),
)

views.py:

def bug_edit(request):
    return HttpResponse('This is an edit page!')

def bug_delete(request):
    return HttpResponse('This is a delete page!')

forms.py:

class SimpleTable(tables.Table):
    edit_link = tables.LinkColumn('bug_edit', args=[A('pk')], 
                verbose_name='Edit', accessor='pk',      attrs={'class':'edit_link'})
    delete_link = tables.LinkColumn('bug_delete', args=[A('pk')], 
                verbose_name='Delete Bug', accessor='pk', attrs={'class':'delete_link'})
    class Meta:
        attrs = {'class' : 'paleblue'}
        model = BugModel

我没有按需单击链接时看到HttpResponse.

I don't see the HttpResponse on clicking the links, as I should.

谢谢.

推荐答案

问题是您的网址格式缺少^和$.

The problem is your url patterns are missing ^ and $.

没有它们,"admin"模式将匹配其中带有"admin"的任何url,从而有效地掩盖了以下模式.

Without them, the 'admin' pattern is matching any url with 'admin' in it -- effectively masking the following patterns.

尝试使用此代替:

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^admin/$', views.admin, name='admin'),
    url(r'^admin/edit/(?P<pk>\d+)/$', views.bug_edit, name='bug_edit'),
    url(r'^admin/delete/(?P<pk>\d+)/$', views.bug_delete, name='bug_delete'),
)

这篇关于Django-Tables2 LinkColumn链接不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆