【发布时间】:2021-06-03 21:52:20
【问题描述】:
我最近开始学习如何使用 Django,我想知道您是否可以在 HTML 中创建一个可以直接调用 python 函数而无需更改 URL 的按钮。有人告诉我这可以通过 JS 实现,但我想知道你是否可以在 Python 中做到这一点。
感谢您抽出宝贵时间阅读本文!
【问题讨论】:
标签: python html django function button
我最近开始学习如何使用 Django,我想知道您是否可以在 HTML 中创建一个可以直接调用 python 函数而无需更改 URL 的按钮。有人告诉我这可以通过 JS 实现,但我想知道你是否可以在 Python 中做到这一点。
感谢您抽出宝贵时间阅读本文!
【问题讨论】:
标签: python html django function button
如果您还没有准备好深入研究 JavaScript,一个潜在的选择是查看 HTMX。
您可以使用所需的任何 python 功能创建一个 django 视图,然后使用 HTMX 对其执行 get 或 post 调用。在这里,我只是返回了一段 html,它将被插入到 dataLocation div 中,但是你可以从你的视图中调用任何可以使用 python 的东西并返回有用的 html。
index.html
<button hx-get="/alert_message/" hx-target="#dataLocation" hx-swap="innerHTML">
Click Me
</button>
<div id="dataLocation"></div>
views.py
from django.http import HttpResponse
def alert_message(request):
return HttpResponse(
(
"<div class='alert alert-warning'>"
" <strong>Warning!</strong> Some important message."
"</div>"
),
status=200,
content_type="text/html",
)
urls.py
urlpatterns = [
path('alert_message/', views.alert_message, name='alert_message'),
]
【讨论】:
根据您的应用程序,您可能需要查看 Django 表单。否则 JS (ajax) 是要走的路。更多细节总是有帮助的。
【讨论】: