Cześć, kiedy użytkownika nie ma w bazie danych jest zmuszony do wypełnienia forma w którym uzupełnia swoje godziny konsultacji, następnie powinien być dodawany do bazy danych, ale kiedy ten if jest spełniony idzie od nowa po całości funkcji i nie pobiera już poprawnie danych tylko wypluwa None i brak jsona.
if User.query.filter_by(email=teacherJson['email']).first() is None:
@teacher.route('/dashboardTeacher', methods=['GET', 'POST'])
def dashboard():
form = TeacherRegistrationForm()
roomId = request.form.get('roomId')
token = request.form.get('roomAuthtoken')
print(roomId)
print(token)
# login = request.args.get('login')
# loginUrlResult = requests.post(
# 'http://localhost/Projekt-inzynierski/API/UsersByLogin.php?login={}'.format(login))
# roomIdUrlResult = requests.post(
# 'https://s153070.projektstudencki.pl/API/UsersByRoom.php?roomId={}'.format(roomId))
roomIdUrlResult = requests.post(
'http://localhost/API/UsersByRoom.php?roomId={}&token={}'.format(roomId, token))
try:
teacherJson = roomIdUrlResult.json()
except:
print("roomId or token wrong")
print(teacherJson)
# teacher = User.query.filter_by(email=teacherJson['email']).first()
if request.method == 'POST':
if request.form.get("submit"):
user = User(name=teacherJson['name'],
surname=teacherJson['surname'],
date=str(form.date.data),
time=str(form.time.data),
end_time=str(form.end_time.data),
email=teacherJson['email'],
password='',
permission=Permission.TEACHER)
db.session.add(user)
db.session.commit()
if request.form.get("accept"):
id = request.form['accept']
entry = Entry.query.filter_by(id=id).first()
entry.decision = Decision.ACCEPT
db.session.commit()
if request.form.get("decline"):
id = request.form['decline']
entry = Entry.query.filter_by(id=id).first()
entry.decision = Decision.DECLINE
db.session.commit()
# prowadzacy1 = User.query.filter_by(email='student1@wp.pl').first() -> prowadzacy1.date
if User.query.filter_by(email=teacherJson['email']).first() is None:
return render_template('user/register.html', form=form)
else:
print("prowadzacy istnieje")
output w konsoli
2
861d2ab10a18a902f21c311f65daf26c
{'login': 'pracownik1', 'name': 'Pracownik', 'surname': 'Admin', 'email': 'pracownik1@test.pl', 'token': 'd53b96a40c9497d18ecd83f3ba30b9d1'}
None
None
roomId or token wrong
output w przeglądarce:
UnboundLocalError: local variable 'teacherJson' referenced before assignment