from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
flask flask-admin
flask-sqlalchemy
flask-restful
flask-wtf
flask-login
flask-hashing
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
@app.route("/user/login")
def login():
return "Hello World!"
@app.route("/user/signup")
def signup():
return "Hello World!"
@app.route("/video/upload")
def upload():
return "ddd"
@app.route("/Whatever")
def upload():
return "ddd"
app.register_blueprint(home, url_prefix='/')
app.register_blueprint(user, url_prefix='/user')
app.register_blueprint(video, url_prefix='/video')
user = db.session.query(models.Users).filter(models.Users.name == username).first()
ALCHEMY_URL=mysql+mysqlconnector://root:emarroot@localhost:3306/porghub APP_SECRET=mydevsecret alembic upgrade head
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> 86bba768a6c8, Added initial tables
server{
listen 80;
location /static {
root /usr/src;
}
location /{
include uwsgi_params;
uwsgi_pass uwsgi:3031;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}admin.add_view(MyModelView(models.Users, db.session,
column_list=['id', 'name', "description", "is_active", "is_admin"],
search_fields=['username'],
form_columns=['id', 'name', "description", "is_active", "is_admin"]))
user = db.session.query(models.Users).filter(models.Users.name == username).first()
if not user or user and not hashing.check_value(user.password, password, settings.SECRET):
flash("Failed to log you in with these credentials")
return render_template("login.html", form=form)
else:
#login
login_user(user)
return redirect('//')
{% extends "base.html" %}
{% block container %}
<body>
<div class = "container">
<h4>Register</h4>
<br>
{% from "_formhelpers.html" import render_field %}
<form method=post action="/user/login">
<dl>
{{render_field(form.username)}}
{{render_field(form.password)}}
<input name=_csrf_token type=hidden value="{{ csrf_token() }}">
</dl>
<p><input type=submit value=Login></p>
</form>
{% if error %}
<p class="error"><strong>Error:</strong>{{error}}</p>
{% endif %}
</div>
</body>
{% endblock %}
class LoginForm(Form):
username = StringField('Username', [validators.DataRequired()])
password = PasswordField('Password', [validators.DataRequired()])