Flask не работает маршрутизация от домена

from flask_wtf import FlaskForm
from wtforms import StringField , PasswordField , SubmitField , EmailField
from wtforms.validators import DataRequired , ValidationError , Length , Email , EqualTo
import csv

class UserForm(FlaskForm):
    username = StringField(label=('Введите имя') , validators=[DataRequired(), Length(min=2)])
    email = EmailField(label='Введите email', validators=[DataRequired(), Length(min=6), Email()])
    password = PasswordField(label=('Введите пароль'), validators=[DataRequired(), Length(min=8)])
    confirm_password = PasswordField(label=('Повторите пароль'), validators=[DataRequired(), Length(min=8), EqualTo('password',message='Пароли не совпадают!')])
    submit = SubmitField(label=('Зарегестрироваться'))


application = Flask(__name__)
application.config['SECRET_KEY'] = 'simple_key'
application.config['TRAP_HTTP_EXCEPTIONS'] = True


@application.route('/login/', methods=['get' , 'post'])
def login():
    intermediate_dict = {}
    with open('baze.csv','r',encoding='cp1251') as f:
        for row in f :
            intermediate_list = [i for i in row.split(',')]
            intermediate_dict[intermediate_list[0]] = [intermediate_list[1],intermediate_list[2]]
    error , username = '' , None
    if request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')
        if username in intermediate_dict.keys():
            if password == intermediate_dict[username][0]:
                session['loged_user'] = username
                session.modified = True
                return redirect(url_for('main'))
            else:
                error = 'Неверный пароль!'
        else:
            error = 'Пользователя с данным именем нет!'
    return render_template('login.html', error=error)

@application.route('/')
@application.route('/main/')
def main():
    return render_template('main.html')


@application.route('/register/', methods=['get' , 'post'])
def register():
    done = None
    name_error = None
    form = UserForm()
    intermediate_dict = {}
    with open('baze.csv','r',encoding='cp1251') as f:
            for row in f :
               intermediate_list = [i for i in row.split(',')]
               intermediate_dict[intermediate_list[0]] = [intermediate_list[1],intermediate_list[2]]
    if form.username.data in intermediate_dict.keys():
        name_error = 'Имя уже занято!'
    if form.validate_on_submit() and not form.username.data in intermediate_dict.keys():
        done = True
        intermediate_dict[form.username.data] = [form.password.data , form.email.data + '\n']
        with open('baze.csv','a',encoding='cp1251') as f:
            f.write(form.username.data+','+intermediate_dict[form.username.data][0]+','+intermediate_dict[form.username.data][1])
    return render_template('register.html', form=form , name_error=name_error , done = done)

@application.route('/profile/', methods=['get','post'])
def profile():
    profile_info = None
    intermediate_dict = {}
    with open('baze.csv','r',encoding='cp1251') as f:
        for row in f :
            intermediate_list = [i for i in row.split(',')]
            intermediate_dict[intermediate_list[0]] = [intermediate_list[1],intermediate_list[2]]
    if 'loged_user' in session:
        profile_info = [session['loged_user'],intermediate_dict[session['loged_user']][1]]

    return render_template('profile.html' , profile=profile_info)

@application.route('/logout/')
def logout():
    session.pop('loged_user',None)
    return redirect(url_for('main'))


if __name__ == '__main__':
    application.config['SERVER_NAME'] = 'exemple.ru'
    application.run(debug = True,host='0.0.0.0' , use_reloader=True)

При переходе по домену "http://exemple.ru/" показывает главную страницу , а при попытке перейти на другую - выдает ошибку 500 . Как простроить маршруты ?


Ответы (0 шт):