Size: a a a

2020 April 24

T

Tishka17 in Python Flask
а кто это
здесь разница только в слеше что ли?
Да. Но для простоты люди делают ресурсы /мешок/коробки. Тогда мешок - не совсем коллекция
источник

ПП

Проксимов Прксимович in Python Flask
Tishka17
Get /мешок инфа о мешке
get /мешок/ содержимое мешка
А разве не лучше инфу хранить внутри? В данной аналогии конечно не очень но в целом
источник

T

Tishka17 in Python Flask
Проксимов Прксимович
А разве не лучше инфу хранить внутри? В данной аналогии конечно не очень но в целом
Хз
источник

а

а кто это in Python Flask
get /мешок/*
источник

T

Tishka17 in Python Flask
В принципе вот это самое простое и понятное.
https://t.me/ru_flask/54842
источник

SN

Stepan Neretin in Python Flask
ребята, можно еще один глупый вопрос на сегодня?
Есть задача: Проверять есть ли в сессии logged и если оно True, то разрешать пользователю сайта, иначе перекидывать на опр урл на котором можно находится без сессии где он вводит пароль
Через что лучше сделать проверку? middleware?
источник

T

Tishka17 in Python Flask
Звучит before_request на блупринт или декоратор на роуты
источник

NL

Nikita L in Python Flask
Подскажите плз, возможно ли через bulk_save_objects загружать в бд объекты с рилейшеном?
Например, создаю 2 связных объекта, через bulk_save_objects загружаю их в БД и в итоге FK внутри базы у них не прокидывается
источник

NL

Nikita L in Python Flask
Если делать отдельное добавление в сеессию через session.add() все ок работает, но объектов очень много и они долго грузятся
источник

GB

Gleb B in Python Flask
Шалом шаббат, православные. Вопрос по фласку небольшой. Запускаю фабрику приложений, в которой фласк админ, фласк мигрейт и пр. Все работает отлично, модельки в админе и пр. Но, когда пытаешься чере терминал вызвать flask db init, то он ругается следующим:
источник

GB

Gleb B in Python Flask
Usage: flask db init [OPTIONS]

Error: While importing "Shnekkel.wsgi", an ImportError was raised:

Traceback (most recent call last):
 File "/Users/zion/PycharmProjects/Shnekkel/venv/lib/python3.8/site-packages/flask/cli.py", line 240, in locate_app
   __import__(module_name)
 File "/Users/zion/PycharmProjects/Shnekkel/__init__.py", line 5, in <module>
источник
2020 April 25

JW

John Wayne in Python Flask
Подскажите, есть простой фласк ендпоинт /login там форма, которая делает пост реквест, на api ендпоинт users/register, в нем пишем в бд юзера, и возвращаем json месседж, либо все ок, либо ошибка.
Вопрос, как юзеру показать страницу с его профилем, или на главную его вернуть. Разве апи ендпоинты, должны делать редикерты, или рендерить страницы? Или они только json меседжи возвращают?
источник

𝕬

𝕬𝖗𝖙𝖊𝖒 in Python Flask
John Wayne
Подскажите, есть простой фласк ендпоинт /login там форма, которая делает пост реквест, на api ендпоинт users/register, в нем пишем в бд юзера, и возвращаем json месседж, либо все ок, либо ошибка.
Вопрос, как юзеру показать страницу с его профилем, или на главную его вернуть. Разве апи ендпоинты, должны делать редикерты, или рендерить страницы? Или они только json меседжи возвращают?
Смотря о чём ты говоришь. Если ты делаешь аякс-запрос, то нельзя, ибо ты должен инфу передать. Если ты делаешь просто пост-запрос, то импортишь из фласка redirect, url_for и делаешь
redirect(url_for('endpoint'))
источник

JW

John Wayne in Python Flask
𝕬𝖗𝖙𝖊𝖒
Смотря о чём ты говоришь. Если ты делаешь аякс-запрос, то нельзя, ибо ты должен инфу передать. Если ты делаешь просто пост-запрос, то импортишь из фласка redirect, url_for и делаешь
redirect(url_for('endpoint'))
Я о том, как веб приложению с апи общаться? нашел такое https://nearsoft.com/blog/how-to-create-an-api-and-web-applications-with-flask/ тут ваще requests юзают, и делают запросы своему же апи. Можно по этой логике, в функции для /login, делать проверку если GET запрос, отдай страницу логина, если POST, сделай запрос(requests.get(???) ) и сделай редирект на профиль или на 404 итд. Как правильно?
источник

ПЯ

Просто Ярик in Python Flask
@app.route('/login',methods=['GET'])
def login():
   return render_template('login.html')

@app.route('/logina',methods=['POST'])
def logina():
   uLogin = request.form['login']
   uPassword = request.form['password']
   with open('database.json') as db:
       user_data = json.loads(db)

   if uLogin in user_data and user_data[uLogin] == str(uPassword):
       return render_template('useraccount.html')
   else:
       return redirect(url_for('login'))
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
Учусь делать веб-приложения, может кто подскажет, в чем проблема? Когда ввожу правильный логин и пароль, браузер бросает такую ошибку
источник

𝕬

𝕬𝖗𝖙𝖊𝖒 in Python Flask
Просто Ярик
@app.route('/login',methods=['GET'])
def login():
   return render_template('login.html')

@app.route('/logina',methods=['POST'])
def logina():
   uLogin = request.form['login']
   uPassword = request.form['password']
   with open('database.json') as db:
       user_data = json.loads(db)

   if uLogin in user_data and user_data[uLogin] == str(uPassword):
       return render_template('useraccount.html')
   else:
       return redirect(url_for('login'))
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
Учусь делать веб-приложения, может кто подскажет, в чем проблема? Когда ввожу правильный логин и пароль, браузер бросает такую ошибку
Почему ты делаешь методы в разных роутах?

Пиши
'/login', methods=['GET', 'POST'], потом сделай условие if request.method == 'POST' и всё. Если не понятно что делать дальше - смотри в статьях или видеоуроках.
источник

ПЯ

Просто Ярик in Python Flask
Уже нашел по этому поводу отрывок в документации, но спасибо. Все же, только учусь)
источник
2020 April 26

AM

Artur Mustafin in Python Flask
а тоже нашел отрывок в документации
источник

AD

Alexander Dementyev in Python Flask
Просто Ярик
@app.route('/login',methods=['GET'])
def login():
   return render_template('login.html')

@app.route('/logina',methods=['POST'])
def logina():
   uLogin = request.form['login']
   uPassword = request.form['password']
   with open('database.json') as db:
       user_data = json.loads(db)

   if uLogin in user_data and user_data[uLogin] == str(uPassword):
       return render_template('useraccount.html')
   else:
       return redirect(url_for('login'))
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
Учусь делать веб-приложения, может кто подскажет, в чем проблема? Когда ввожу правильный логин и пароль, браузер бросает такую ошибку
У тебя нет метода post для роута /login или отправляешь данные на метод /logina ???
источник

ПЯ

Просто Ярик in Python Flask
Alexander Dementyev
У тебя нет метода post для роута /login или отправляешь данные на метод /logina ???
Да-да, я уже разобрался с этим. Спасибо)
источник