styled login

This commit is contained in:
Flatlogic Bot 2025-12-17 20:08:10 +00:00
parent 5b190bc3f3
commit b48ab419b2
11 changed files with 24 additions and 51 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -1,5 +1,6 @@
from django import forms
from .models import Project, Client
from django.contrib.auth.forms import AuthenticationForm
class ProjectForm(forms.ModelForm):
class Meta:
@ -21,4 +22,8 @@ class ClientForm(forms.ModelForm):
'name': forms.TextInput(attrs={'class': 'form-control'}),
'email': forms.EmailInput(attrs={'class': 'form-control'}),
'phone': forms.TextInput(attrs={'class': 'form-control'}),
}
}
class LoginForm(AuthenticationForm):
username = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Username'}))
password = forms.CharField(widget=forms.PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Password'}))

View File

@ -14,38 +14,12 @@
<div class="card-body">
<form method="post">
{% csrf_token %}
<div class="row">
<div class="col-md-6 mb-3">
<div class="form-floating">
{{ form.name }}
<label for="{{ form.name.id_for_label }}">Project Name</label>
</div>
</div>
<div class="col-md-6 mb-3">
<div class="form-floating">
{{ form.client }}
<label for="{{ form.client.id_for_label }}">Client</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<div class="form-floating">
{{ form.start_date }}
<label for="{{ form.start_date.id_for_label }}">Start Date</label>
</div>
</div>
<div class="col-md-6 mb-3">
<div class="form-floating">
{{ form.end_date }}
<label for="{{ form.end_date.id_for_label }}">End Date</label>
</div>
</div>
</div>
{% for field in form %}
<div class="form-floating mb-3">
{{ form.status }}
<label for="{{ form.status.id_for_label }}">Status</label>
{{ field }}
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
</div>
{% endfor %}
<div class="d-flex justify-content-end">
<a href="{% url 'projects' %}" class="btn btn-secondary me-2">Cancel</a>
<button type="submit" class="btn btn-primary">Save Project</button>

View File

@ -18,22 +18,12 @@
<h2 class="card-title text-center mb-4">Create Account</h2>
<form method="post">
{% csrf_token %}
<div class="form-floating mb-3">
{{ form.username }}
<label for="{{ form.username.id_for_label }}">Username</label>
</div>
<div class="form-floating mb-3">
{{ form.email }}
<label for="{{ form.email.id_for_label }}">Email</label>
</div>
<div class="form-floating mb-3">
{{ form.password }}
<label for="{{ form.password.id_for_label }}">Password</label>
</div>
<div class="form-floating mb-3">
{{ form.password2 }}
<label for="{{ form.password2.id_for_label }}">Confirm Password</label>
</div>
{% for field in form %}
<div class="form-floating mb-3">
{{ field }}
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
</div>
{% endfor %}
<div class="d-grid">
<button type="submit" class="btn btn-primary btn-lg">Register</button>
</div>

View File

@ -1,6 +1,6 @@
from django.urls import path
from .views import index, add_project, register, edit_project, delete_project, projects, clients, add_client
from django.contrib.auth.views import LoginView, LogoutView
from .views import index, add_project, register, edit_project, delete_project, projects, clients, add_client, CustomLoginView
from django.contrib.auth.views import LogoutView
urlpatterns = [
path('', index, name='index'),
@ -9,7 +9,7 @@ urlpatterns = [
path('clients/add/', add_client, name='add_client'),
path('add-project/', add_project, name='add_project'),
path('register/', register, name='register'),
path('login/', LoginView.as_view(template_name='core/login.html'), name='login'),
path('login/', CustomLoginView.as_view(), name='login'),
path('logout/', LogoutView.as_view(), name='logout'),
path('edit-project/<int:project_id>/', edit_project, name='edit_project'),
path('delete-project/<int:project_id>/', delete_project, name='delete_project'),

View File

@ -4,7 +4,11 @@ from django.contrib.auth.decorators import login_required
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.views import LoginView, LogoutView
from .models import Project, Client
from .forms import ProjectForm, ClientForm
from .forms import ProjectForm, ClientForm, LoginForm
class CustomLoginView(LoginView):
form_class = LoginForm
template_name = 'core/login.html'
def index(request):
if request.user.is_authenticated: