【问题标题】:Django: update modal without form without overwrite databaseDjango:在不覆盖数据库的情况下更新没有表单的模式
【发布时间】:2018-09-17 13:11:31
【问题描述】:

我需要使用 3 个引导模式更新 django 模型。我使用 AJAX 请求来修改这些值。

在每一步中我都会修改一个字段,但用户可以取消进程,所以我只想在他们确认最后一个模式中的操作时将更改保存到数据库中。

如何在不使用表单的情况下做到这一点?只有 model.field = new_value 语法。

【问题讨论】:

    标签: ajax django twitter-bootstrap


    【解决方案1】:

    有几种方法可以做到这一点,但最佳解决方案取决于您的应用程序和进一步的开发计划。在任何情况下,您都需要创建一个新的 url 和视图来更新您的模型。然后您可以使用 ajax 访问此 url 并检索更新的值。

    下面的代码只是一个说明

    url(r'^modal-answer/(?P<id>\d+)/(?P<value>[-\w]+)/$', my_view, name="modal-answer"),
    
    
    import json
    from django.http import HttpResponse
    
    def my_view(request, id, value):
        if request.is_ajax():
            # find your obj and update
            data = {} # populate data dict with useful values
            return HttpResponse(json.dumps(data), content_type='application/json')
    

    【讨论】:

    • 谢谢!我没有考虑 AJAX 请求中的数据字典。
    猜你喜欢
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 2013-04-15
    • 2014-04-10
    • 2023-02-15
    • 2019-06-29
    • 1970-01-01
    相关资源
    最近更新 更多