【发布时间】:2018-02-20 05:18:29
【问题描述】:
我正在尝试构建一个全栈 Web 应用程序。在我的数据库中,我有一个包含大量数据的表,如下所示:
SHOWS
ID show_name show_number
1 First Show 2
2 Second Show 1
3 Third Show 1
4 fourth Show 2
5 Fifth Show 3
6 Sixth Show 1
如果你能看到,我将数字显示为侧面的一列。该节目编号可以是 1-32 之间的任何数字。我想要做的是通过设置 url 模式来拥有一个将这些 show_number 作为参数类型的 URL。
在我的 urls.py 中
urlpatterns = [
url(r'^show/(?P<show_number>\d+)$', views.slideshow),
]
当我去…/show/1/时, show_number 为 1 的所有行都将在该页面上。如果我去 ...../show/2/ 所有带有 show_number 2 的行都会去那里等等。
在我的models.py中:
def show_screen(self):
with connection.cursor() as cursor:
cursor.execute("SELECT show_number, show_name FROM shows ORDER BY show_number ASC;")
data = cursor.fetchall()
return data
在我看来:
def slideshow(request):
context = {
"shows": Show.objects.all()
}
return render(request, 'index.html', context)
在这个项目即将结束时,我的目标是让我的网址每隔几秒钟动态更改一次。有没有办法直接从数据库中传递一个 url 模式?
假设每 30 秒,我的页面应该转到
www./....../show/1/
www./....../show/2/
www./....../show/3/
www./....../show/7/
www./....../show/19/
到达最后一个 URL 参数后,它会返回到第一个 URL。
非常感谢您的阅读!
【问题讨论】:
-
从数据库传递url的目的是什么?您的数据库中没有存储任何 url。
-
是什么决定了您的网址列表中的下一个
show_number?还是这个列表是你设置的? -
我将 show_number 作为我的 url 的 url 模式的一部分传递。我的数据库中没有 url 字符串。我只有 show_number 我想成为我的网址的一部分。这些 show_number 由客户选择。他们可以从 1-32 中选择一个数字。
-
我明白这一点。我的问题是在您的帖子末尾引用您的问题:
Is there a way to pass a url pattern directly from the database?我不确定您的意思。
标签: python html django python-2.7