Получение метода get при выполнении метода post

Я создал представление на основе класса, где в методе get я вызываю html-страницу activate.html. и создал метод post, где я размещаю некоторые json-данные. Я хочу перенаправить ту же страницу и опубликовать данные.

Когда я запускаю страницу activate.html, я получаю ее, но когда я нажимаю на кнопку для активации пользователя, она печатает то же самое, что я печатаю в методе get

.

views.py

class ActivationView(View):
     def get (self, request, uid, token):
            print('get called in activate_user')
            return render(request, 'activate.html')
    
        def post(self, request, uid, token):
            print('UID : ', uid)
            print('Token : ', token)
            payload = json.dumps({'uid': uid, 'token': token})
            print("payload : " , payload)
            protocol = 'https://' if request.is_secure() else 'http://'
            web_url = protocol + request.get_host()
            djoser_url = getattr(settings, 'DJOSER.ACTIVATION_URL')
            post_url = web_url + djoser_url
            print('post_url : ' + post_url)
            response = request.post(post_url, data = payload)
            return HttpResponse(response.text)

Я хочу выводить uid и token в формате json при нажатии на кнопку post из html.

activate.html

<form action="" method="post">
      {% csrf_token %}
      <td input type="submit"><a href="" target="_blank" >Click Here For Activate Account</a></td>
 </form>

измените свою форму

<form action="" method="post">
  {% csrf_token %}
  <td ><button type="submit">Click Here For Activate Account</button></td>
</form>

это будет работать.

Вернуться на верх