Найти - Пользователи
Полная версия: Bottle: иногда не сразу доступна страница
Начало » Web » Bottle: иногда не сразу доступна страница
1
Master_Sergius
Иногда при старте проекта, в браузере не сразу доступна страница (так и пишет, мол проверьте связь), пару раз обновляю, а тогда уже пускает. Проэкт на данном этапе ещё маленький, страницы пробные в стиле “хеллоу ворлд”, в чём может быть проблема? Что вам показать, чтоб натолкнуть на решение? (ОС - Fedora 20, если что)
alexsis
Можно код увидеть?
Master_Sergius
Вот, главный файл:

import os
from bottle import route, run, redirect, post, static_file
from controller import check_login, get_page
  
app_root = os.path.dirname(os.path.abspath(__name__))
  
# static section
  
@route('/<filename:re:.*\.css>')
def stylesheets(filename):
    return static_file(filename, root=app_root)
  
# dynamic section
  
@route('<path:path>')
def family_budget(path):
    redirect('/family_budget/login')
  
@route('/family_budget/login')
def login():
    login_page = get_page('templates/login_page.html')
    return login_page
  
@post('/family_budget/login')
def do_login():
    username = request.forms.get('username')
    password = request.forms.get('password')
    if check_login(username, password):
        response.set_cookie("account", username, secret='some-secret-key')
        return template("<p>Welcome {{name}}! You are now logged in.</p>", name=username)
    else:
        return "<p>Login failed.</p>"
  
run(host='0.0.0.0', port=5050)

Ещё не всё реализовано, конечно, ведь проверяю всё пошагово и вот уже столкнулся с проблемой.
Файл controller.py:
from md5 import md5
from string import Template
  
def get_stored_password(username):
    pass
  
def check_login(username, password):
    pass_md5 = md5(password).hexdigest()
    if get_stored_password(username) == pass_md5:
        return True
    else:
        return False
  
def get_page(path_to_template, subs_dict={}):
    template = open(path_to_template).read()
    return Template(template).substitute(subs_dict)

На данном этапе должна лишь появится форма для ввода лоигна/пароля. Вторая функция - do_login - конечно, работать не будет (скопипаено с туториала), но она ведь и не запускается.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB