Форма Web.py не публикуется? - PullRequest
0 голосов
/ 10 июня 2011

Я написал следующее на основе нескольких разных примеров web.py, которые я нашел, но я не могу получить страницу входа для публикации. Есть идеи, почему мой код sooo foobar?

p.s также почему мне кажется, что web.config.debug должен иметь значение false, если я хочу использовать сессии?

import web 
import db 
from web import form


login = form.Form(
    form.Textbox('username'),
    form.Password('password'),
    form.Button('Login'), )

urls = (
    '/', 'Index',
    '/login', 'Login',
    '/home', 'Home', )

web.config.debug = False 
app = web.application(urls, globals())
session = web.session.Session(app, web.session.DiskStore('sessions'))


class Login:
    def GET(self):
        f = login()
        return render.register(f)

    def POST(self):
        f = web.input()
        check = db.db_query('select * from users where username=? and password=?', (i.username, i.password))
        if check:
            session.loggedin = True
            session.username = i.username
            raise web.seeother('/home')
        else: return render.base("Those login details don't work.")


class Index:
    def GET(self):
        return 'index'

class Home:
    def GET(self):
        return 'home'


if __name__ == '__main__':
    app.run()

Ответы [ 2 ]

1 голос
/ 14 января 2014

Вы используете переменную 'i', которая не была определена ... попробуйте использовать 'f' ту, которую вы определили для web.input ()

1 голос
/ 27 июня 2011

Пожалуйста, проверьте пример, представленный здесь (http://webpy.org/cookbook/forms), мне кажется, что просто выполнение form.Form (...) на самом деле не создает тег, поэтому, пожалуйста, проверьте ваш вывод HTML.
В основном это отсутствует <form name="main" method="post"> ... </form>, охватывающий ваши элементы (текстовый ввод, кнопка)

...