2025-11-27 11:53:46 +05:30
|
|
|
{% extends 'base.html' %}
|
|
|
|
|
{% block content %}
|
2025-11-28 03:11:38 +05:30
|
|
|
|
|
|
|
|
<div class="row justify-content-center mt-5">
|
2025-11-27 11:53:46 +05:30
|
|
|
<div class="col-md-4">
|
2025-11-28 03:11:38 +05:30
|
|
|
|
|
|
|
|
<div class="card shadow-sm border-0 rounded-3">
|
|
|
|
|
<div class="card-body p-4">
|
|
|
|
|
|
|
|
|
|
<h3 class="text-center mb-4">Login</h3>
|
|
|
|
|
|
|
|
|
|
<form method="post" novalidate>
|
|
|
|
|
{% csrf_token %}
|
|
|
|
|
{{ form.non_field_errors }}
|
|
|
|
|
|
|
|
|
|
<!-- Username field -->
|
|
|
|
|
<div class="mb-3">
|
|
|
|
|
<label class="form-label">{{ form.username.label }}</label>
|
|
|
|
|
<input
|
|
|
|
|
type="text"
|
|
|
|
|
name="{{ form.username.name }}"
|
|
|
|
|
value="{{ form.username.value|default:'' }}"
|
|
|
|
|
class="form-control"
|
|
|
|
|
placeholder="Enter username"
|
|
|
|
|
required
|
|
|
|
|
>
|
|
|
|
|
{{ form.username.errors }}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- Password field -->
|
|
|
|
|
<div class="mb-3">
|
|
|
|
|
<label class="form-label">{{ form.password.label }}</label>
|
|
|
|
|
<input
|
|
|
|
|
type="password"
|
|
|
|
|
name="{{ form.password.name }}"
|
|
|
|
|
class="form-control"
|
|
|
|
|
placeholder="Enter password"
|
|
|
|
|
required
|
|
|
|
|
>
|
|
|
|
|
{{ form.password.errors }}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<button type="submit" class="btn btn-primary w-100">
|
|
|
|
|
Login
|
|
|
|
|
</button>
|
|
|
|
|
</form>
|
|
|
|
|
|
|
|
|
|
</div>
|
2025-11-27 11:53:46 +05:30
|
|
|
</div>
|
2025-11-28 03:11:38 +05:30
|
|
|
|
2025-11-27 11:53:46 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-11-28 03:11:38 +05:30
|
|
|
|
2025-11-27 11:53:46 +05:30
|
|
|
{% endblock %}
|