Как отобразить сообщение пользователю, когда веб-сайт загружен, щелкнув гиперссылку, указанную в сообщении электронной почты. - PullRequest
0 голосов
/ 29 января 2020

Привет У меня есть код ниже:

view.py

        try:
            url = "associateid="+assoc_id+"&quarter="+quarter+"&manager="+mgr_id
            #print(url)
            encoded=base64.b64encode(bytes(str(url),'utf-8'))
            urle = 'http://localhost:8000/index/file?enc_url='+encoded.decode("utf-8")
            #print(urle)
            vals = {'emailapproved':str(urle)}
            response_dict["data"].append(vals) 
        except Exception as e:
            print(str(e))

index. html

<table border='0' cellspacing='0' cellpadding='2'>
<tr><td ><a href="{{emailapproved}}" target="blank" id="accessLink"> Click here To launch the webpage</a><font color='#0d94d2'></font></td></tr></table>

Как отобразить сообщение, когда пользователь нажимает на ссылку, указанную в электронном письме, и после запуска веб-сайта.

Заранее спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Аналогичный пример, который будет отображать сообщение при успешной отправке смс на введенный телефон:

{% extends "admin/base_site.html" %}
{% load i18n admin_urls admin_list %}
{% block title %}This is Title{% endblock %}
{% block branding %}
<h1 id="site-name">My Site Name</h1>
{% endblock %}
{% block content %}
    <form method="post">{% csrf_token %}
      <!-- there is a button whoes element id is `sendSms` in the form -->
      <!-- click it will make a ajax request, then alert a message box to show the result -->
      {{ form.as_p }}
      <input type="submit" value="submit">
    </form>
  <script>
    var smsBtn = document.getElementById('sendSms');
    smsBtn.onclick = function() {
      var xmlhttp=new XMLHttpRequest();
      xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState==4){
          if(xmlhttp.status==200||xmlhttp.status==201){
            document.getElementById("sendSms").disabled=true;
            alert('success to send sms!')
          }else{
            alert('fail!')
          }
        }
      }
      xmlhttp.open('POST', '/v1/vcode/send/', true);
      var phone=document.getElementById('id_phone').value;
      xmlhttp.setRequestHeader("Content-type","application/json");
      xmlhttp.send(JSON.stringify({ phone }));
    }
  </script>
{% endblock %}
0 голосов
/ 29 января 2020

Вы можете использовать Django каркас сообщений ( docs ). Введите следующий код в представлении, которое вызывается, когда пользователь нажимает на ссылку в вашем электронном письме.

from django.contrib import messages
messages.add_message(request, messages.INFO, 'Hello world.')

Введите следующий код в базовый шаблон

{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}

Когда сообщение будет добавлено в ваш запрос, когда пользователь откроет любую страницу в django, он увидит это сообщение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...