Skip to content
Snippets Groups Projects
Commit 2564348a authored by kaiyou's avatar kaiyou
Browse files

Very first scaffold for logging in

parent a2ae106c
No related branches found
No related tags found
No related merge requests found
......@@ -31,7 +31,7 @@ def create_app_from_config(config):
# Import views
from trurt import account
app.register_blueprint(account.account, url_prefix='/account')
app.register_blueprint(account.blueprint, url_prefix='/account')
return app
......
from flask import Blueprint
account = Blueprint('account', __name__)
blueprint = Blueprint("account", __name__, template_folder="templates")
from trurt.account import *
from trurt.account import login
from wtforms import validators, fields, widgets
from flask_babel import lazy_gettext as _
import flask_wtf
class LoginForm(flask_wtf.FlaskForm):
email = fields.StringField(_('E-mail'), [validators.Email()])
pw = fields.PasswordField(_('Password'), [validators.DataRequired()])
submit = fields.SubmitField(_('Sign in'))
from trurt import models
from trurt.account import blueprint, forms
import flask_login
import flask
@blueprint.route("/login")
def login():
form = forms.LoginForm()
if form.validate_on_submit():
user = models.User.login(form.username, form.password)
if user:
flask_login.login_user(user)
endpoint = flask.request.args.get("next", "/")
return flask.redirect(flask.url_for(endpoint))
else:
flask.flash("Wrong credentials")
return flask.render_template("account_login.html", form=form)
@blueprint.route("/logout")
def logout():
flask_login.logout_user()
return flask.redirect("/")
from trurt.account import blueprint
import flask_login
@blueprint.route("/settings")
def settings():
return flask.render_template("account_settings.html")
{% extends "base.html" %}
<h1>Test</h1>
......@@ -6,7 +6,7 @@ DEFAULT_CONFIG = {
'DEBUG': False,
'BABEL_DEFAULT_LOCALE': 'en',
'BABEL_DEFAULT_TIMEZONE': 'UTC',
'SQLALCHEMY_DATABASE_URI': 'sqlite:///./trurt.db',
'SQLALCHEMY_DATABASE_URI': 'sqlite:////tmp/trurt.db',
'SQLALCHEMY_TRACK_MODIFICATIONS': False,
'SECRET_KEY': 'changeMe',
}
......
from flask import current_app as app
from flask import cli as flask_cli
from trurt import models
import flask
import click
......@@ -9,3 +11,18 @@ import click
def trurt(cls=flask_cli.FlaskGroup):
""" Trurt command line
"""
@trurt.command()
@click.argument("username")
@click.argument("password")
@flask_cli.with_appcontext
def create_user(username, password):
user = models.User()
user.username = username
auth = models.Auth()
auth.set_password(password)
user.auths.append(auth)
models.db.session.add(user)
models.db.session.add(auth)
models.db.session.commit()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment