是否可以为pandas数据帧中的每一行创建一个唯一的Django路径



我有一个Django项目,它在pandas数据帧的每一行中获取信息,并在页面上显示内容。我想把数据帧的每一行都用自己唯一的路径分隔成自己的页面。数据帧中的行太多,无法对views.py文件上下文中的每一行进行硬编码。如何为每一行创建一个唯一的url路径?这可能吗?

您可能想做一些事情,比如在url 中嵌入行作为参数

http://example.com/pandasdata/<row>

在您的视图中,您将从url中提取行,并仅从pandas数据帧中提取该数据并显示该数据。

在您的应用程序urls.py文件中添加以下代码

path('pandasdata/< int:rowid >', views.row)

在您的应用程序views.py文件中,添加以下代码:

def row(request, rowid):
# Add code to extract row and display here

确保两个地名应该相同(rowid(

上面的答案完全正确,正是我想要的。我只想为将来遇到这个问题的人详细说明一下。

如答案中所述,在urls.py文件中添加用于提取行信息的路径。类似于:

path("data/<int:row_id>/", views.app)

然后在views.py文件中,您将能够访问如下行信息:

def func(request, row_id):
row_id = row_id
x = row_id
df1 = df.iloc[x]
return render(request, "data/app.html", {
"col1": df1['col1'],
"col2": df1['col2'],}

现在,当您访问像http://example.com/data/100/这样的路径时,它将从数据帧中加载具有该索引的行,以及您在上下文中设置的列中的任何信息。或者,如果该数字超出了数据库中的行数,则会引发错误。

感谢WombatPM的原创答案!

最新更新