将表错误参数显示为reversed()必须是一个序列

时间:2016-06-22 09:30:37

标签: python django django-models django-templates django-views

我正在开发一个小应用程序,我可以在其中显示我的数据库中的所有表(sqlite3),并选择其中一个,可视化数据(我知道我可以使用管理员,但我需要这样做在应用程序中)

我的model.py中有不同的模型,比如myModel1,myModel2 ......

在我的views.py

def myhomepage(request):
    tables_list = connection.introspection.table_names() 
    return render(request, 'myhomepage.html', { 'tables_list': tables_list})

 def detail_table(request, table):
    try:
        Table_to_View = ContentType.objects.get(app_label="myapp", model=table)
    except Table_to_View.DoesNotExist:
            raise Http404 ("La tabella non esiste")
    context = {'Table_to_View' : Table_to_View }
    return render(request, "detail_table.html", context )

和模板myhomepage.html

{#something#}
<title>Lista delle tabelle</title>
<body>
{% if tables_list %}
<ul>
{%for t in tables_list %}
  <li> <a href="{% url 'detail_table' t %}"> {{table}}</a></li>
{% endfor %}
</ul>
{% endif %}

这是urls.py

from django.conf.urls import url
from . import views

urlpatterns = {
    url(r'^$', views.myhomepage, name='myhomepage'),
    url(r'^(?P<table>.*)/$', views.detail_table, name='detail_table'),
}

但它突出了这个

{% url 'detail_table' t %}"

并给我这个错误:

argument to reversed () must be a sequence

我该如何解决这个问题? 谢谢。

ps:如果还有更聪明的方法可以做到这一点,我接受建议!

[edit]添加view detail_table和urls.py

1 个答案:

答案 0 :(得分:5)

{}使用[]代替urlpatterns

urlpatterns = [
    url(r'^$', views.myhomepage, name='myhomepage'),
    url(r'^(?P<table>.*)/$', views.detail_table, name='detail_table'),
]

方括号不卷曲。