Compare commits
2 commits
6de8484acd
...
caddbb695c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
caddbb695c | ||
|
|
e04ce89f61 |
5 changed files with 105 additions and 0 deletions
|
|
@ -0,0 +1,7 @@
|
||||||
|
from flask import Blueprint, render_template
|
||||||
|
|
||||||
|
main_bp = Blueprint("main", __name__)
|
||||||
|
|
||||||
|
@main_bp.route("/")
|
||||||
|
def index():
|
||||||
|
return render_template("index.html")
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block title %}Log In{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
<h2>Log In</h2>
|
||||||
|
<form method="POST" novalidate class="col-md-6">
|
||||||
|
{{ form.hidden_tag() }}
|
||||||
|
<div class="mb-3">
|
||||||
|
{{ form.email.label(class="form-label") }}
|
||||||
|
{{ form.email(class="form-control") }}
|
||||||
|
{% for error in form.email.errors %}<div class="text-danger small">{{ error }}</div>{% endfor %}
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
{{ form.password.label(class="form-label") }}
|
||||||
|
{{ form.password(class="form-control") }}
|
||||||
|
{% for error in form.password.errors %}<div class="text-danger small">{{ error }}</div>{% endfor %}
|
||||||
|
</div>
|
||||||
|
<div class="form-check mb-3">
|
||||||
|
{{ form.remember_me(class="form-check-input") }}
|
||||||
|
{{ form.remember_me.label(class="form-check-label") }}
|
||||||
|
</div>
|
||||||
|
{{ form.submit(class="btn btn-primary") }}
|
||||||
|
</form>
|
||||||
|
{% endblock %}
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block title %}Register{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
<h2>Create Account</h2>
|
||||||
|
<form method="POST" novalidate class="col-md-6">
|
||||||
|
{{ form.hidden_tag() }}
|
||||||
|
<div class="mb-3">
|
||||||
|
{{ form.username.label(class="form-label") }}
|
||||||
|
{{ form.username(class="form-control") }}
|
||||||
|
{% for error in form.username.errors %}<div class="text-danger small">{{ error }}</div>{% endfor %}
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
{{ form.email.label(class="form-label") }}
|
||||||
|
{{ form.email(class="form-control") }}
|
||||||
|
{% for error in form.email.errors %}<div class="text-danger small">{{ error }}</div>{% endfor %}
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
{{ form.password.label(class="form-label") }}
|
||||||
|
{{ form.password(class="form-control") }}
|
||||||
|
{% for error in form.password.errors %}<div class="text-danger small">{{ error }}</div>{% endfor %}
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
{{ form.confirm_password.label(class="form-label") }}
|
||||||
|
{{ form.confirm_password(class="form-control") }}
|
||||||
|
{% for error in form.confirm_password.errors %}<div class="text-danger small">{{ error }}</div>{% endfor %}
|
||||||
|
</div>
|
||||||
|
{{ form.submit(class="btn btn-primary") }}
|
||||||
|
</form>
|
||||||
|
{% endblock %}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>{% block title %}MyApp{% endblock %}</title>
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<nav class="navbar navbar-expand-lg navbar-light bg-light mb-4">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="{{ url_for('main.index') }}">MyApp</a>
|
||||||
|
<div class="d-flex gap-2">
|
||||||
|
{% if current_user.is_authenticated %}
|
||||||
|
<span class="navbar-text">Hi, {{ current_user.username }}</span>
|
||||||
|
<a class="btn btn-outline-secondary btn-sm" href="{{ url_for('auth.logout') }}">Log out</a>
|
||||||
|
{% else %}
|
||||||
|
<a class="btn btn-outline-primary btn-sm" href="{{ url_for('auth.login') }}">Log in</a>
|
||||||
|
<a class="btn btn-primary btn-sm" href="{{ url_for('auth.register') }}">Register</a>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
{% with messages = get_flashed_messages(with_categories=true) %}
|
||||||
|
{% if messages %}
|
||||||
|
{% for category, message in messages %}
|
||||||
|
<div class="alert alert-{{ category }}">{{ message }}</div>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endwith %}
|
||||||
|
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block title %}Home{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
<h1>Welcome{% if current_user.is_authenticated %}, {{ current_user.username }}{% endif %}!</h1>
|
||||||
|
{% if not current_user.is_authenticated %}
|
||||||
|
<p>Please <a href="{{ url_for('auth.login') }}">log in</a> or
|
||||||
|
<a href="{{ url_for('auth.register') }}">create an account</a>.</p>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
Loading…
Add table
Reference in a new issue