Link Django 表 2 中的列
Link Column in Django Tables 2
我目前正在尝试将 Link column
添加到我已经使用 Django tables 创建的 table 中 2.
我正在使用文档中的以下代码
class PeopleTable(tables.Table):
name = tables.LinkColumn('people_detail', text='static text', args=[A('pk')])
view.py
urlpatterns = patterns('',
url('people/(\d+)/', views.people_detail, name='people_detail')
)
问题是,当我尝试加载我的网页时出现以下错误:
Reverse for 'people_detail' with arguments '(1,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []
谁能看出这里的问题?
编辑:我的 url.py 如下所示:
urlpatterns = [
url(r'^$', views.IndexView, name='index'),
url(r'^Search/$', views.SearchView, name='Search'),
url(r'^people/(\d+)/$', views.myview,{}, name='people_detail'),
url(r'^comment/$', views.LicenseComment, name='comment'),
url(r'^copyLicense/$', views.copyLicense, name='Copy'),
url(r'^download/$', views.download, name='Download'),
url(r'^AddMod/$', views.addModule, name='addMod'),
url(r'^removeMod/$', views.removeModule, name='removeMod'),
url(r'^login/$', views.Login.as_view(), name='login'),
url(r'^logout/$', views.LogOut, name='logout'),
url(r'^create/$', views.get_name, name='create'),
url(r'^NewLicense/$', views.NewLicense.as_view(), name='NewLicense'),
url(r'^LicenseCharts/$', views.Chart.as_view(), name='ViewChart'),
url(r'^Advancedsearch/$', views.Adsearch.as_view(), name='AdSearch'),
url(r'^AdvancedRequest/$', views.AdvancedRequest, name='AdvancedRequest'),
url(r'^EditLicense/$', views.EditLicense.as_view(), name='EditLic'),
url(r'^Profile/$', views.profileView.as_view(), name='profile'),
url(r'^GlobalLog/$', views.LogFile.as_view(), name='LogFile'),
]
此外,如果我从创建 link 列的位置删除 text='static files'
,此错误将不再出现,但 table 仅包含一个名为 Name 的列,该列仅包含一个破折号
如果您将 urls.py 包含在命名空间中,那么您必须在定义 link 列时包含命名空间。例如:
class PeopleTable(tables.Table):
name = tables.LinkColumn('myapp:people_detail', text='static text', args=[A('pk')])
相似场景
我的应用名称 - "ecart"
url.py(在ecart应用下)
路径("ecart/edit/...", edit_ecart, 名称="edit_ecart")
tables.py(存在于同一层级下,即ecart app)
从 django_tables2.utils 导入 A
将 django_tables2 导入为 tables
class购物车表(tables.Table):
edit_col = tables.LinkColumn('edit_ecart', text='EDIT', args=[A('pk')] )
----------
----------
这会将 EDIT 超链接列显示为 table 中的最后一列
注意:我不需要添加命名空间名称,即"ecart:edit_ecart",因为上述两个文件都在同一层次结构中
我目前正在尝试将 Link column
添加到我已经使用 Django tables 创建的 table 中 2.
我正在使用文档中的以下代码
class PeopleTable(tables.Table):
name = tables.LinkColumn('people_detail', text='static text', args=[A('pk')])
view.py
urlpatterns = patterns('',
url('people/(\d+)/', views.people_detail, name='people_detail')
)
问题是,当我尝试加载我的网页时出现以下错误:
Reverse for 'people_detail' with arguments '(1,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []
谁能看出这里的问题?
编辑:我的 url.py 如下所示:
urlpatterns = [
url(r'^$', views.IndexView, name='index'),
url(r'^Search/$', views.SearchView, name='Search'),
url(r'^people/(\d+)/$', views.myview,{}, name='people_detail'),
url(r'^comment/$', views.LicenseComment, name='comment'),
url(r'^copyLicense/$', views.copyLicense, name='Copy'),
url(r'^download/$', views.download, name='Download'),
url(r'^AddMod/$', views.addModule, name='addMod'),
url(r'^removeMod/$', views.removeModule, name='removeMod'),
url(r'^login/$', views.Login.as_view(), name='login'),
url(r'^logout/$', views.LogOut, name='logout'),
url(r'^create/$', views.get_name, name='create'),
url(r'^NewLicense/$', views.NewLicense.as_view(), name='NewLicense'),
url(r'^LicenseCharts/$', views.Chart.as_view(), name='ViewChart'),
url(r'^Advancedsearch/$', views.Adsearch.as_view(), name='AdSearch'),
url(r'^AdvancedRequest/$', views.AdvancedRequest, name='AdvancedRequest'),
url(r'^EditLicense/$', views.EditLicense.as_view(), name='EditLic'),
url(r'^Profile/$', views.profileView.as_view(), name='profile'),
url(r'^GlobalLog/$', views.LogFile.as_view(), name='LogFile'),
]
此外,如果我从创建 link 列的位置删除 text='static files'
,此错误将不再出现,但 table 仅包含一个名为 Name 的列,该列仅包含一个破折号
如果您将 urls.py 包含在命名空间中,那么您必须在定义 link 列时包含命名空间。例如:
class PeopleTable(tables.Table):
name = tables.LinkColumn('myapp:people_detail', text='static text', args=[A('pk')])
相似场景
我的应用名称 - "ecart"
url.py(在ecart应用下)
路径("ecart/edit/...", edit_ecart, 名称="edit_ecart")
tables.py(存在于同一层级下,即ecart app)
从 django_tables2.utils 导入 A
将 django_tables2 导入为 tables
class购物车表(tables.Table):
edit_col = tables.LinkColumn('edit_ecart', text='EDIT', args=[A('pk')] )
----------
----------
这会将 EDIT 超链接列显示为 table 中的最后一列
注意:我不需要添加命名空间名称,即"ecart:edit_ecart",因为上述两个文件都在同一层次结构中