- Django 5.2 + PostgreSQL + Gunicorn - Conversazioni, Obiettivi, Documenti PDF, Persone - Commenti e aggiornamenti con modifica/eliminazione - Agenda, ricerca live, giorni rimanenti scadenze - Bootstrap 5 + HTMX + toast notifications - Deploy: Nginx + Gunicorn + SSL
33 lines
1.3 KiB
HTML
33 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="it">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Login – Olimpic Nastri</title>
|
||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
||
</head>
|
||
<body class="bg-light">
|
||
<div class="container" style="max-width:420px; margin-top:100px;">
|
||
<div class="card shadow-sm p-4">
|
||
<h3 class="mb-4 text-center fw-bold">Olimpic Progetto Nastri</h3>
|
||
<form method="post">
|
||
{% csrf_token %}
|
||
{% if form.errors %}
|
||
<div class="alert alert-danger">Username o password errati.</div>
|
||
{% endif %}
|
||
<div class="mb-3">
|
||
<label class="form-label">Username</label>
|
||
<input type="text" name="username" class="form-control" autofocus required>
|
||
</div>
|
||
<div class="mb-3">
|
||
<label class="form-label">Password</label>
|
||
<input type="password" name="password" class="form-control" required>
|
||
</div>
|
||
<button type="submit" class="btn btn-dark w-100">Entra</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||
</body>
|
||
</html>
|