【问题标题】:How to create alert from view model如何从视图模型创建警报
【发布时间】:2021-11-11 05:45:25
【问题描述】:

我想验证文件。虽然文件无效,但我想刷新我的页面并通知用户他没有上传正确的文件。所以我有这个在我的

views/campaign.py

try:
    wb = load_workbook(mp_file)
except BadZipfile:
    return redirect('campaign_add', client_id)

我知道如何做到这一点的唯一方法是向客户端类添加另一个属性

is_error(models.BooleanField())

然后将视图/广告系列更改为

try:
    client.is_error = False   
    wb = load_workbook(mp_file)
    client.save()
except BadZipfile:
    client.is_error = True
    client.save()
    return redirect('campaign_add', client)

我可以在我的campaign.html 文件中添加另一个属性,如果is.error 为真,我将在重新加载页面后添加某种带有错误文件信息的窗口。但是有什么方法可以在不添加其他属性的情况下做到这一点?

【问题讨论】:

    标签: html django django-models


    【解决方案1】:

    好的,让我们假设答案比你预期的要复杂一些。

    现代 UI 并不是为了通知用户输入或上传的一些错误而重新加载页面。

    那么这里最好的用户体验是什么?

    1. 用户正在从页面上传一些文件。
    2. 您正在通过 JavaScript 向专用 API 端点发送文件以进行此上传。假设/workbook/uploads/。您需要为此端点(视图)创建一个处理程序
    3. Endpoint 返回 200 OK 成功或错误时的正文为空,例如 400 Bad Request 正文中包含详细的 JSON 以向用户显示问题所在。
    4. 您正在用 JavaScript 解析响应并向用户显示问题所在

    不需要刷新。 ?

    但具体的答案将需要您的实现中的更多代码。 (视图、网址、模板)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 2016-07-07
      相关资源
      最近更新 更多