main
Nyemba Ambela Jean Nicolas 4 weeks ago
commit b94876f39d

2
.gitignore vendored

@ -0,0 +1,2 @@
venv/
__pycache__/

Binary file not shown.

@ -0,0 +1,63 @@
from flask import Flask, render_template, url_for, flash, redirect
from forms import RegistrationForm, LoginForm
app = Flask(__name__)
app.config['SECRET_KEY'] = 'db3746b2ffa650b3804e4316d227f853'
posts = [
{
'pagetitle': 'home page'
}
]
navbaritems = [
{
'name': 'home',
'url': 'home'
},
{
'name': 'login',
'url': 'login'
},
{
'name': 'register',
'url': 'register'
}
]
@app.route("/")
@app.route("/home")
def home():
return render_template('home.html', posts=posts, navbaritems=navbaritems)
@app.route("/about")
def about():
return render_template('about.html', title='About', posts=posts, navbaritems=navbaritems)
@app.route("/register", methods=['GET', 'POST'])
def register():
form = RegistrationForm()
if form.validate_on_submit():
flash(f'Account created for {form.username.data}!')
return redirect(url_for('home'))
return render_template('register.html', title='Register', form=form)
@app.route("/login", methods=['GET', 'POST'])
def login():
form = LoginForm()
if form.validate_on_submit():
if form.email.data == 'admin' and form.password.data == 'admin':
flash('You have been log in !')
return redirect(url_for('home'))
else:
flash('Login Unsuccessful')
return render_template('login.html', title='Login', form=form)
if __name__ == '__main__':
app.run(debug=True, port=8700)

@ -0,0 +1,24 @@
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, BooleanField
from wtforms.validators import DataRequired, Length, Email, EqualTo
class RegistrationForm(FlaskForm):
username = StringField('Username',
validators=[DataRequired(), Length(min=2, max=20)])
email = StringField('Email',
validators=[DataRequired(), Email()])
password = PasswordField('Password' , validators=[DataRequired()])
confirm_password = PasswordField('Confirm Password' ,
validators=[DataRequired(), EqualTo('password')])
submit =SubmitField('Sign Up')
class LoginForm(FlaskForm):
email = StringField('Email',
validators=[DataRequired(), Email()])
password = PasswordField('Password' , validators=[DataRequired()])
remember = BooleanField('Remember Me')
submit =SubmitField('Login')

Binary file not shown.

@ -0,0 +1,10 @@
{% extends "layout.html" %}
{% block content %}
{% for post in posts %}
<p> {{ post.universe }} </p>
<p> {{ post.powerlevel }} </p>
<i> {{ post.date_posted }} </i>
{% endfor %}
{% endblock content %}

@ -0,0 +1,8 @@
{% extends "layout.html" %}
{% block content %}
{% for post in posts %}
<h1>{{ post.pagetitle }}</h1>
{% endfor %}
{% endblock content %}

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="{{ url_for('static', filename='main.css')}}">
{% if title %}
<title>Blog post - {{ title }}</title>
{% else %}
<title>Blog posts</title>
{% endif %}
</head>
<body>
{% block navbar %}
{% for post in navbaritems %}
<li><a href="{{ post.url }}"> {{ post.name }} </a></li>
{% endfor %}
{% endblock %}
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for caterogy, message in messages %}
<div>
{{ message }}
</div>
{% endfor %}
{% endif %}
{% endwith %}
<div>
{% block content %}
{% endblock %}
</div>
</body>
</html>

@ -0,0 +1,61 @@
{% extends "layout.html" %}
{% block content %}
<div>
<form method="POST" action="">
{{ form.hidden_tag() }}
<fieldset>
<legend>Login</legend>
<div>
{{ form.email.label() }}
{% if form.email.errors %}
{{ form.email() }}
<div>
{% for errors in form.email.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.email() }}
{% endif %}
</div>
<br>
<div>
{{ form.password.label() }}
{% if form.password.errors %}
{{ form.password()}}
<div>
{% for errors in form.password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.password() }}
{% endif %}
</div>
<br>
<div>
{{ form.remember() }}
{{ form.remember.label() }}
</div>
</fieldset>
<div>
{{ form.submit() }}
</div>
<small>
<a href="#">Forgot Password</a>
</small>
</form>
</div>
<div>
<small>Need an Account ? <a href="{{ url_for('register') }}">Sign Up Now</a></small>
</div>
{% endblock content %}

@ -0,0 +1,82 @@
{% extends "layout.html" %}
{% block content %}
<div>
<form method="POST" action="">
{{ form.hidden_tag() }}
<fieldset>
<legend>Join Today</legend>
<div>
{{ form.username.label() }}
{% if form.username.errors %}
{{ form.username()}}
<div>
{% for errors in form.username.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.username() }}
{% endif %}
</div>
<br>
<div>
{{ form.email.label() }}
{% if form.email.errors %}
{{ form.email() }}
<div>
{% for errors in form.email.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.email() }}
{% endif %}
</div>
<br>
<div>
{{ form.password.label() }}
{% if form.password.errors %}
{{ form.password()}}
<div>
{% for errors in form.password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.password() }}
{% endif %}
</div>
<br>
<div>
{{ form.confirm_password.label() }}
{% if form.confirm_password.errors %}
{{ form.confirm_password()}}
<div>
{% for errors in form.confirm_password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.confirm_password() }}
{% endif %}
</div>
</fieldset>
<div>
{{ form.submit() }}
</div>
</form>
</div>
<div>
<small>Already Have an Account ? <a href="{{ url_for('login') }}">Sign In</a></small>
</div>
{% endblock content %}

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save