首页 > 解决方案 > 用 Django 调用 python 函数

问题描述

我最近开始学习如何使用 Django,我想知道您是否可以在 HTML 中创建一个可以直接调用 python 函数而不更改 URL 的按钮。有人告诉我用 JS 可以做到这一点,但我想知道你是否可以在 Python 中做到这一点。

感谢您花时间阅读本文!

标签: pythonhtmldjangofunctionbutton

解决方案


如果您还没有准备好深入研究 javascript,一个潜在的选择是查看HTMX

您可以使用所需的任何 python 功能创建一个 django 视图,然后使用 HTMX 对其执行 get 或 post 调用。在这里,我只是返回一大块将插入到dataLocationdiv 中的 html,但您可以从您的视图中调用任何可能使用 python 的内容并返回有用的 html。

索引.html

<button hx-get="/alert_message/" hx-target="#dataLocation" hx-swap="innerHTML">
    Click Me
</button>

<div id="dataLocation"></div>

视图.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",
        )

网址.py

urlpatterns = [
    path('alert_message/', views.alert_message, name='alert_message'),
]

推荐阅读