From 42819418145dac0abaa902af666d1837dea654f5 Mon Sep 17 00:00:00 2001 From: Arona Jones Date: Wed, 3 Feb 2021 23:18:31 +0000 Subject: [PATCH] Create some initial models --- core/settings.py | 1 + core/urls.py | 3 +- theme/static_src/postcss.config.js | 6 ---- theme/static_src/tailwind.config.js | 4 +-- theme/templates/base.html | 12 ++----- vehicles/__init__.py | 0 vehicles/admin.py | 3 ++ vehicles/apps.py | 5 +++ vehicles/migrations/0001_initial.py | 53 ++++++++++++++++++++++++++++ vehicles/migrations/__init__.py | 0 vehicles/models.py | 26 ++++++++++++++ vehicles/templates/vehicle_list.html | 5 +++ vehicles/tests.py | 3 ++ vehicles/urls.py | 7 ++++ vehicles/views.py | 9 +++++ 15 files changed, 119 insertions(+), 18 deletions(-) create mode 100644 vehicles/__init__.py create mode 100644 vehicles/admin.py create mode 100644 vehicles/apps.py create mode 100644 vehicles/migrations/0001_initial.py create mode 100644 vehicles/migrations/__init__.py create mode 100644 vehicles/models.py create mode 100644 vehicles/templates/vehicle_list.html create mode 100644 vehicles/tests.py create mode 100644 vehicles/urls.py create mode 100644 vehicles/views.py diff --git a/core/settings.py b/core/settings.py index 9ceb9d2..89d63cf 100644 --- a/core/settings.py +++ b/core/settings.py @@ -47,6 +47,7 @@ INSTALLED_APPS = [ # 1st Party 'theme', 'users', + 'vehicles' ] MIDDLEWARE = [ diff --git a/core/urls.py b/core/urls.py index a00de6e..dfd476d 100644 --- a/core/urls.py +++ b/core/urls.py @@ -3,6 +3,7 @@ from django.urls import path from django.conf.urls import include urlpatterns = [ - path('', include('users.urls')), + path('user/', include('users.urls')), + path('vehicles/', include('vehicles.urls')), path('admin/', admin.site.urls), ] diff --git a/theme/static_src/postcss.config.js b/theme/static_src/postcss.config.js index eade1bb..33ad091 100644 --- a/theme/static_src/postcss.config.js +++ b/theme/static_src/postcss.config.js @@ -3,10 +3,4 @@ module.exports = { tailwindcss: {}, autoprefixer: {}, }, - purge: [ - // Templates within theme app (e.g. base.html) - '../templates/**/*.html', - // Templates in other apps - '../../templates/**/*.html', - ], } diff --git a/theme/static_src/tailwind.config.js b/theme/static_src/tailwind.config.js index ae7e1cc..bca306b 100644 --- a/theme/static_src/tailwind.config.js +++ b/theme/static_src/tailwind.config.js @@ -7,9 +7,9 @@ module.exports = { '../templates/**/*.html', // Templates in other apps. Uncomment the following line if it matches // your project structure or change it to match. - // '../../templates/**/*.html', + '../../templates/**/*.html', ], - darkMode: false, // or 'media' or 'class' + darkMode: 'media', theme: { extend: {}, }, diff --git a/theme/templates/base.html b/theme/templates/base.html index 7be097d..0b38212 100644 --- a/theme/templates/base.html +++ b/theme/templates/base.html @@ -6,7 +6,7 @@ - Tailwind CSS Skeleton + Fleet Management @@ -15,15 +15,9 @@ -
-
-

Django + Tailwind = ❤️

-
- + {% block content %} + {% endblock %}
- - - diff --git a/vehicles/__init__.py b/vehicles/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/vehicles/admin.py b/vehicles/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/vehicles/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/vehicles/apps.py b/vehicles/apps.py new file mode 100644 index 0000000..e41a21a --- /dev/null +++ b/vehicles/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class VehiclesConfig(AppConfig): + name = 'vehicles' diff --git a/vehicles/migrations/0001_initial.py b/vehicles/migrations/0001_initial.py new file mode 100644 index 0000000..ce3e13c --- /dev/null +++ b/vehicles/migrations/0001_initial.py @@ -0,0 +1,53 @@ +# Generated by Django 3.1.6 on 2021-02-03 23:18 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Make', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=80)), + ], + ), + migrations.CreateModel( + name='Model', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=80)), + ('make', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='vehicles.make')), + ], + ), + migrations.CreateModel( + name='Status', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=80)), + ], + ), + migrations.CreateModel( + name='Vehicle', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=50)), + ('reg_number', models.CharField(max_length=7)), + ('vin_number', models.CharField(max_length=50)), + ('chassis_number', models.CharField(max_length=50)), + ('engine_number', models.CharField(max_length=50)), + ('model', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='vehicles.model')), + ('owner', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ('status', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='vehicles.status')), + ], + ), + ] diff --git a/vehicles/migrations/__init__.py b/vehicles/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/vehicles/models.py b/vehicles/models.py new file mode 100644 index 0000000..7e4e30b --- /dev/null +++ b/vehicles/models.py @@ -0,0 +1,26 @@ +from django.db import models + + +class Status(models.Model): + name = models.CharField(max_length=80) + + +class Make(models.Model): + name = models.CharField(max_length=80) + + +class Model(models.Model): # Cause that won't be a confusing name at all + name = models.CharField(max_length=80) + make = models.ForeignKey('Make', on_delete=models.CASCADE) + + +class Vehicle(models.Model): + name = models.CharField(max_length=50) + reg_number = models.CharField(max_length=7) + vin_number = models.CharField(max_length=50) + chassis_number = models.CharField(max_length=50) + engine_number = models.CharField(max_length=50) + + status = models.ForeignKey('Status', on_delete=models.CASCADE) + owner = models.ForeignKey('users.CustomUser', blank=True, null=True, on_delete=models.CASCADE) + model = models.ForeignKey('Model', on_delete=models.CASCADE) diff --git a/vehicles/templates/vehicle_list.html b/vehicles/templates/vehicle_list.html new file mode 100644 index 0000000..6f8051f --- /dev/null +++ b/vehicles/templates/vehicle_list.html @@ -0,0 +1,5 @@ +{% extends 'base.html' %} + +{% block content %} +Test! +{% endblock %} diff --git a/vehicles/tests.py b/vehicles/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/vehicles/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/vehicles/urls.py b/vehicles/urls.py new file mode 100644 index 0000000..acc146c --- /dev/null +++ b/vehicles/urls.py @@ -0,0 +1,7 @@ +from django.urls import path + +from .views import VehicleList + +urlpatterns = [ + path('list/', VehicleList.as_view(), name='vehicle_list') +] diff --git a/vehicles/views.py b/vehicles/views.py new file mode 100644 index 0000000..136fd50 --- /dev/null +++ b/vehicles/views.py @@ -0,0 +1,9 @@ +from django.shortcuts import render +from django.views.generic.list import ListView + +from .models import Vehicle + + +class VehicleList(ListView): + template_name = 'vehicle_list.html' + model = Vehicle