Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
10 / 10 / 0
Регистрация: 04.03.2022
Сообщений: 22

Возврат данных в html через api

09.08.2022, 21:29. Показов 831. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, пишу программу на flask_restful
Грубо говоря: есть страница, на которой пользователь вводит почту, либо номер(создает аккаунт)
и при вводе данных вытаскиваем данные формы и отправляем на серверную часть, чтобы проверить валидность почты,
но с другой стороны можно отправлять данные через тег '<form method=post>' html, но если там валидность не пройдет, то надо вывести ошибку, но как вернуть данные обратно в html от сервера
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
class Registration_Api(Resource):
    def post(self, email_or_number):
        code = create_code()
        if validate_email(email_or_number):
            db_sess = database.create_session()
            email_exist = db_sess.query(Reg.email).filter(Reg.email == email_or_number)
            send_mail(email_or_number, code, False)
        else:
            return 'Такой почты не существует'
 
        if is_valid_number(email_or_number):
            db_sess = database.create_session()
            number_exist = db_sess.query(Reg.email).filter(Reg.email == email_or_number)
            send_sms(email_or_number, f"Здравствуйте! Код подтверждения регистрации {email_or_number} - {code}.")
        else:
            return 'Такого номера не существует'
 
        if number_exist or email_exist:
 
            # conn = http.client.HTTPConnection("ifconfig.me")
            # conn.request("GET", "/ip")
            # session['logged'] = '0'
            # session['IP'] = str(conn.getresponse().read()).replace('b', '').replace("'", '').strip()
            # conn.close()
 
            user_reg = Reg(code_ver=code, email=email_or_number)
            db_sess.add(user_reg)
            db_sess.commit()
            id_ver = int(replacce(*db_sess.query(Reg.id).filter(Reg.email == email_or_number)))
            db_sess.close()
            return jsonify({'status': 'ok', 'id_ver': id_ver})
        else:
            return redirect('/')
        db_sess.close()
 
------------------------------------------------------------------------------------------
 
 
api = Api()
api.add_resource(Registration_Api, '/api/registration/')
 
------------------------------------------------------------------------------------------
 
@app.route('/')
def registration():
    response = ''
    form = RegisterForm()
 
    if form.entrance.data:
        return redirect('/entrance')
 
    if form.validate_on_submit():
        response = requests.post(f'http://127.0.0.1:8000/api/registration/{form.email.data.strip()}')
        if response['status'] == 'ok':
            return redirect(f'/verification/{response["id_ver"]}/False')
    elif form.submit.data:
        response = 'Введите почту'
 
    return render_template('reg.html', title='Регистрация', form=form, error=response)

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{% extends 'base.html' %}
 
 
{% block content %}
<style>
    @import url('/static/css/registration.css')
</style>
<img src="/static/image/phone.png" class="phone">
<div class="error">{{ error }}</div>
<div class="card">
    <div class="card-body">
        <form action="/api/registration" method="post" novalidate>
            <h4>Регистрация</h4>
            <div class="cardd">
                <div class="card-body">
                    <form action="" method="post" novalidate>
                        {{ form.csrf_token }}
                        <p>{{ form.email.label() }}<br>
                            {{ form.email }}
                        </p>
                        <p>{{ form.submit }}</p>
                        <p>{{ form.entrance }}</p>
                    </form>
                </div>
            </div>
        </form>
    </div>
</div>
{% endblock %}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2022, 21:29
Ответы с готовыми решениями:

Возврат двух значений через return без потери данных
Знающие люди прошу помощи,есть код в этом коде несколько заданий,проблема заключается только с заданием 3 и 4,в 3 нужно как то через return...

Open Server - MySQL - JS - HTML - Не получается вызвать подключение к базе данных через HTML
Всем привет. Надеюсь поможете разобраться в моей проблеме. Итак существует база данный MySQL на openserver. Есть вот такое подключение...

Ввод данных в базу через API
Здравствуйте! Руководство поставило задачу интегрировать сервис мониторинга gelios (geliossoft.ru)(геолокация, уровень топлива,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.08.2022, 21:29
Помогаю со студенческими работами здесь

Передача данных через api и форму
Всем привет. Подскажите пожалуйста, можно ли сделать так: есть лендинг, там заявки передаются через форму на api в партнерскую сеть. Можно...

Получение данных с сайта через API
Всем привет. Изучаю Шарп не так давно, сейчас появилась маленькая необходимость сделать програмку которая будет парсить сайт и через бота...

Получение данных из API через Singleton
Здравствуйте, случилась такая проблема я не понимаю как мне достать данные из json так что бы я их мог использовать в любом месте. сам...

Получение данных через API VK на Python 3.8
Добрый вечер всем! Подскажите пожалуйста, как сделать так чтобы при вводе либо самого id номера или полного адреса с протоколом или...

Возврат XML Web Api
Сейчас POST запрос возвращает след. строку: &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;checkOrderResponse performedDatetime=&quot;25.01.2016...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru