如何将 ID 的编辑方法转移到 Django 中的按钮/链接?

Posted

技术标签:

【中文标题】如何将 ID 的编辑方法转移到 Django 中的按钮/链接?【英文标题】:How to transfer edit method of an ID to a button/links in Django? 【发布时间】:2017-02-25 06:51:46 【问题描述】:

这是我的 ulrs.py 中的代码

url(r'^viewguides/detail/(?P<id>\d+)/edit/$', views.post_update, name='update'),

现在我想让它看起来像这样:

<a href="/detail/(?P<id>\d+)/edit" class="btn btn-default btn-lg" style="background-color: transparent;"><font color="Orange"> EDIT </font></a><hr>

这样我就可以编辑我想要的特定 ID。但这给了我一个错误。你怎么做呢?还是有其他方法?我是 Django 新手。

【问题讨论】:

【参考方案1】:

我只是问了我的同事,他们在 Django 方面有一些经验。答案很简单。

你只需要在“models.py”中创建这个函数:

def get_absolute_url(self):
    return "/viewguides/detail/%s/" %(self.id)

然后你可以通过以下方式在 html 中调用它:

<a href="obj.get_absolute_urledit" class="btn">EDIT</a>

每次单击 btn EDIT 时,它都会将您带到具有给定 id(包含用户的表单/模型的 id)的以下编辑页面。

【讨论】:

【参考方案2】:

您必须在模板中使用 url 标签,如下所示:

<a href="% url update guide.id %">EDIT</a>

其中“update”是 urls.py 中的 name,“guide”是您要更新的实例。

【讨论】:

感谢您的回答。虽然我的意思是,我有特定的编辑代码,因此如果我在地址栏中键入“127.0.0.1:8000/viewguides/detail/(?P<id>\d+)/edit/$”,其中我的数据库中的每个 id 都包含模型形式(例如标题、指南,名称等),它会带我到编辑页面。我正在尝试将该代码传输到一个按钮中,这给了我一个错误,因为“(?P\d+)” 好吧,我给了你链接的代码。要使其成为按钮,只需像以前一样添加 btn 类... 如果您尝试使用我的代码,什么不起作用,您希望模板输出什么?我不明白你的评论。 这就是我所指的:youtube.com/… 我想将这行代码转移到 btn 中,这样它就会转到我的编辑页面 "viewguides/detail/(?P; \d+)/edit/$" 而不是在 url 的每一行末尾都键入“/edit”。如果您愿意,我建议您观看视频。

以上是关于如何将 ID 的编辑方法转移到 Django 中的按钮/链接?的主要内容,如果未能解决你的问题,请参考以下文章

将用户友好的json编辑器添加到django admin

如何将本地主机上的编辑主题转移到 Azure?

如何将类、id、占位符属性添加到 django 模型表单中的字段

如何将A数据库的数据迁移到B数据库中

如何将A数据库的数据迁移到B数据库中

如何删除焦点转移到不可编辑的 JTextComponent 时播放的声音