169 похожих чатов

Добрый вечер! Подскажите пожалуйста как вывести в jinja2 данные из

БД (использую flask_sqlalchemy) при помощи get запроса в браузерной строке.

Например я посылаю http://test.ru/user?id=1
и мне рисует карточку с данными пользователя под id 1

сейчас реализовано тупо в ручную из списка

в приложении:
@app.route('/')
def index():
names = User.query.all()
return render_template('index.html', data=names)

на страничке:
{% block name %} {{ data[0].username }} {% endblock %} {% block skills %} {{ data[0].skills }} {% endblock %}

13 ответов

14 просмотров

не уверен что это именно то что вы хотите , но возможно @app.route('/') @app.route('/user<id>') def index(id) #вот выше ясовсем не уверен что это будет get и что именно так сработает id =id names = User.query.filter(id=id ).all() return render_template('index.html', names=names) на странице {%for k in names:%} {% block name %} {{ k.username }} {% endblock %} {% block skills %} {{ k.skills }} {% endblock %} {%endfor%}

Из контекстной переменной request можно получить этот параметр

Gregory
screenshot Ошибка (

Потому что либо .filter_by(id=id) либо .filter(User.id=id)

Gregory
screenshot Ошибка (

@app.route('/') @app.route('/<id>') @app.route('/<int:id>') def index(id): thisid = id return f"это {thisid}" вот такая конструкция даст вам возможность получить id в переменую из адресной строки . и вы ее потом подставляете в запрос к БД через names = User.query.filter(id=id ).first() если из строки браузера вы получите name то запрос вы модифицируете через name names = User.query.filter(здесь назавние поля как оно у вас заведенов в modeldb=name ).first() эти запросы будут аналогичны SELECT FROM DB WHERE NAME="VASYAPUPKUN" ИЛИ ЖЕ SELECT FROM DB WHERE ID=1

r nurnu
Из контекстной переменной request можно получить э...

для общего развития ;) подскажите как ? как получит данные из формы через post я понимаю username = request.form.get('username') а вот как из get ... :( я вкурсе что если порыть документацию то можно все найти :))

Vellial Dragon
для общего развития ;) подскажите как ? как получ...

Я тоже уже не помню, документация — хороший выход

r nurnu
Я тоже уже не помню, документация — хороший выход

ну как говорили в одном фильме - будем искать :))

Gregory- Автор вопроса
Vellial Dragon
для общего развития ;) подскажите как ? как получ...

да там и рыть не надо. нужно хотя бы раз прочитать.

Vellial Dragon
для общего развития ;) подскажите как ? как получ...

не как из get, а как получить данные из URL query https://flask.palletsprojects.com/en/2.0.x/quickstart/#accessing-request-data

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Не получается у меня либу Zstd статически слинковать, вылазят какие-то AV Вроде example у них не сложный есть, вроде всё делаю как там... но не выходит чего-то Вопрос - если ...
notme
4
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Всех приветствую. Направьте меня в нужное русло. Постепенно переписываю проект с delphi на lazarus. Приложение - обычный windows/linux клиент для бд firebird. Тут все хорошо. ...
Mishutka
8
Привет всем, подскажите, есть сайт на ево 1.4, надо сделать его мультиязычным, структура документов одинаковой останется, чисто тексты разные, свои тв для каждого языка, поддо...
Oleg
7
@rouse_79 https://github.com/AlexanderBagel/FWZip/blob/8c6882a31ffaa9a23e66e22eaa5b1f7ebfcad43c/zlib_external.pas#L393 Почему Си-шная функция memset, параметр отвечающий за з...
notme
8
{"fieldValue":[ {"title":"Alkmaar","coords":"52.62689992095562, 4.771862510168792","address":"Edisonweg 1","zip":"1821 BN","city":"Alkmaar","description":"ma-vr: 07:00-17:00"...
Marc Hoogstrate
5
Карта сайта