javascript - 新用户注册后如何显示 "New account is created"消息

标签 javascript django python-3.x

我担心的是,我希望在用户注册后显示一条消息,指示用户已注册,我已经添加了一个脚本,但是当我单击注册按钮时,即使我还没有注册用户,也会弹出一条消息。我不确定应该在哪里以及如何放置脚本,但我猜想是否需要功能。帮助!!

View .py

def register(request):
if request.method == "POST":
    user_form = UserCreationForm(request.POST)
    if user_form.is_valid():
        user = user_form.save()
        username = user_form.cleaned_data.get('username')
        messages.success(request, f"New account created:{username}")
        login(request, user)
        return redirect("loststuffapp:IndexView")

    else:
        for msg in user_form.error_messages:
            messages.error(request, f"{msg}:{form.error_messages[msg]}")
        return render(request = request,
                      template_name = "loststuffapp/register.html",
                      context={"user_form":user_form})

user_form = UserCreationForm
return render(request = request,
              template_name = "loststuffapp/register.html",
              context={"user_form":user_form})

注册.html

{% extends "loststuffapp/base.html" %}

{% block content %}
   <form method="POST">
      {% csrf_token %}
      {{user_form.as_p}}

       <p><button class="btn" type="submit">Register</button></p>

       <script>M.toast({html: "New account is created", classes: 'blue 
rounded', displayLength:2000});</script>
   </form>

        <p>If you already have an account, <a href="/Register">login</a> 
instead</p>
       {% endblock %}

base.html

    <ul id="nav-mobile" class="right hide-on-med-and-down">
       <li><a href="sass.html"><i class="material-icons">search</i></a></li>
      <li><a href="/login">Sign in</a></li>
      <li><a href="/register">Sign up</a></li>
      <li><a href="/logout">Log out</a></li>
    </ul>

home.html

{% extends "loststuffapp/base.html" %}

{% block content %}

<a class="waves-effect waves-light btn" href="/PostNew">Add documents</a>
 {% for Doc in documents %}
 <div class="content-wrapper">
  <div class="card">
    <div class="card-image">

    <p>{{Doc.docs_name}}</p>
    <p>{{Doc.item_type}}</p>
    <p>{{Doc.police_station}}</p>
    <p>{{Doc.phone_no}}</p>
    <p>{{Doc.Description}}</p>
    <p><img src = "/media/{{Doc.image.url}}" width = "240"/></p>
    <p>{{Doc.date}}</p>

</div>

{% endblock %}

最佳答案

您可以在 django 中使用messages框架。在模板 block content

中添加以下代码
{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}

引用:https://docs.djangoproject.com/en/2.2/ref/contrib/messages/#displaying-messages

关于javascript - 新用户注册后如何显示 "New account is created"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57090106/

相关文章:

javascript - 获取具有给定属性和类的元素的 ID

python - Django 模板图像无法加载(重新发布)

python - django 测试数据库不是用 utf8 创建的

python - Django TypeError at/sitemap.xml 序列索引必须是整数,而不是 'slice'

python-3.x - 您如何将 "Error in the pull function"消息抑制到标准输出?

python - 让 Python 3.3 和 numpy 工作起来很困难

javascript - jQuery 每个 "sleep"内有回调

javascript - 如何在两个窗口之间同步滚动

python - PyCharm 中 basemap 导入错误 — KeyError : 'PROJ_LIB'

javascript - $inc 在我的 MongoDB 查询中无法正常工作