【问题标题】:Call python function with Django用 Django 调用 python 函数
【发布时间】:2021-06-03 21:52:20
【问题描述】:

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

感谢您抽出宝贵时间阅读本文!

【问题讨论】:

    标签: python html django function button


    【解决方案1】:

    如果您还没有准备好深入研究 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'),
    ]
    

    【讨论】:

      【解决方案2】:

      根据您的应用程序,您可能需要查看 Django 表单。否则 JS (ajax) 是要走的路。更多细节总是有帮助的。

      【讨论】:

      • 嘿伙计,非常感谢您的回复!我将研究使用 Django 表单。我的问题是,我根本不喜欢在单击按钮以打印 Hello World 时更改 url 的想法!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 2021-10-21
      • 2011-01-08
      • 1970-01-01
      • 2023-03-25
      • 2021-02-13
      • 2015-03-06
      相关资源
      最近更新 更多