我正在开发一个小应用程序,我可以在其中显示我的数据库中的所有表(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
答案 0 :(得分:5)
您{}
使用[]
代替urlpatterns
。
urlpatterns = [
url(r'^$', views.myhomepage, name='myhomepage'),
url(r'^(?P<table>.*)/$', views.detail_table, name='detail_table'),
]
方括号不卷曲。