diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..2f87511 Binary files /dev/null and b/.DS_Store differ diff --git a/blogging/.DS_Store b/blogging/.DS_Store new file mode 100644 index 0000000..7ccf0d0 Binary files /dev/null and b/blogging/.DS_Store differ diff --git a/blogging/admin.py b/blogging/admin.py index 1175916..2715183 100644 --- a/blogging/admin.py +++ b/blogging/admin.py @@ -2,5 +2,15 @@ from blogging.models import Post, Category -admin.site.register(Post) -admin.site.register(Category) +@admin.register(Category) +class CategoryAdmin(admin.ModelAdmin): + exclude = ('posts',) + + +class CategoryInline(admin.TabularInline): + model = Category.posts.through + + +@admin.register(Post) +class PostAdmin(admin.ModelAdmin): + inlines = [CategoryInline] diff --git a/blogging/fixtures/blogging_test_fixture.json b/blogging/fixtures/blogging_test_fixture.json index bf5269e..e384e53 100644 --- a/blogging/fixtures/blogging_test_fixture.json +++ b/blogging/fixtures/blogging_test_fixture.json @@ -1,38 +1,38 @@ -[ - { - "pk": 1, - "model": "auth.user", - "fields": { - "username": "admin", - "first_name": "Mr.", - "last_name": "Administrator", - "is_active": true, - "is_superuser": true, - "is_staff": true, - "last_login": "2013-05-24T05:35:58.628Z", - "groups": [], - "user_permissions": [], - "password": "pbkdf2_sha256$10000$1rQazFNdOfFt$6aw/uIrv2uASkZ7moXMTajSN+ySYuowBnbP6ILNQntE=", - "email": "admin@example.com", - "date_joined": "2013-05-24T05:35:58.628Z" - } - }, - { - "pk": 2, - "model": "auth.user", - "fields": { - "username": "noname", - "first_name": "", - "last_name": "", - "is_active": true, - "is_superuser": true, - "is_staff": true, - "last_login": "2013-05-24T05:35:58.628Z", - "groups": [], - "user_permissions": [], - "password": "pbkdf2_sha256$10000$1rQazFNdOfFt$6aw/uIrv2uASkZ7moXMTajSN+ySYuowBnbP6ILNQntE=", - "email": "noname@example.com", - "date_joined": "2013-05-24T05:35:58.628Z" - } - } -] +[ + { + "pk": 1, + "model": "auth.user", + "fields": { + "username": "admin", + "first_name": "Mr.", + "last_name": "Administrator", + "is_active": true, + "is_superuser": true, + "is_staff": true, + "last_login": "2013-05-24T05:35:58.628Z", + "groups": [], + "user_permissions": [], + "password": "pbkdf2_sha256$10000$1rQazFNdOfFt$6aw/uIrv2uASkZ7moXMTajSN+ySYuowBnbP6ILNQntE=", + "email": "admin@example.com", + "date_joined": "2013-05-24T05:35:58.628Z" + } + }, + { + "pk": 2, + "model": "auth.user", + "fields": { + "username": "noname", + "first_name": "", + "last_name": "", + "is_active": true, + "is_superuser": true, + "is_staff": true, + "last_login": "2013-05-24T05:35:58.628Z", + "groups": [], + "user_permissions": [], + "password": "pbkdf2_sha256$10000$1rQazFNdOfFt$6aw/uIrv2uASkZ7moXMTajSN+ySYuowBnbP6ILNQntE=", + "email": "noname@example.com", + "date_joined": "2013-05-24T05:35:58.628Z" + } + } +] diff --git a/blogging/migrations/0001_initial.py b/blogging/migrations/0001_initial.py index 5d406bf..5b69ac2 100644 --- a/blogging/migrations/0001_initial.py +++ b/blogging/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 2.1.1 on 2019-10-29 01:39 +# Generated by Django 2.1.1 on 2020-12-19 00:22 from django.conf import settings from django.db import migrations, models diff --git a/blogging/migrations/0002_category.py b/blogging/migrations/0002_category.py index 0ccbe19..e1bd005 100644 --- a/blogging/migrations/0002_category.py +++ b/blogging/migrations/0002_category.py @@ -1,4 +1,4 @@ -# Generated by Django 2.1.1 on 2019-11-05 03:35 +# Generated by Django 2.1.1 on 2020-12-21 19:42 from django.db import migrations, models @@ -13,10 +13,13 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Category', fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('id', models.AutoField(auto_created=True, primary_key=True, + serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128)), ('description', models.TextField(blank=True)), - ('posts', models.ManyToManyField(blank=True, related_name='categories', to='blogging.Post')), + ('posts', models.ManyToManyField(blank=True, + related_name='categories', + to='blogging.Post')), ], ), ] diff --git a/blogging/migrations/0003_auto_20191104_1942.py b/blogging/migrations/0003_auto_20201222_0221.py similarity index 86% rename from blogging/migrations/0003_auto_20191104_1942.py rename to blogging/migrations/0003_auto_20201222_0221.py index 663c56d..725cd3d 100644 --- a/blogging/migrations/0003_auto_20191104_1942.py +++ b/blogging/migrations/0003_auto_20201222_0221.py @@ -1,4 +1,4 @@ -# Generated by Django 2.1.1 on 2019-11-05 03:42 +# Generated by Django 2.1.1 on 2020-12-22 02:21 from django.db import migrations diff --git a/blogging/models.py b/blogging/models.py index 10d6cc3..807caa2 100644 --- a/blogging/models.py +++ b/blogging/models.py @@ -1,7 +1,11 @@ from django.db import models from django.contrib.auth.models import User + class Post(models.Model): + def __str__(self): + return self.title + title = models.CharField(max_length=128) text = models.TextField(blank=True) author = models.ForeignKey(User, on_delete=models.CASCADE) @@ -9,16 +13,14 @@ class Post(models.Model): modified_date = models.DateTimeField(auto_now=True) published_date = models.DateTimeField(blank=True, null=True) - def __str__(self): - return self.title class Category(models.Model): - name = models.CharField(max_length=128) - description = models.TextField(blank=True) - posts = models.ManyToManyField(Post, blank=True, related_name='categories') + def __str__(self): + return self.name class Meta: verbose_name_plural = 'Categories' - def __str__(self): - return self.name + name = models.CharField(max_length=128) + description = models.TextField(blank=True) + posts = models.ManyToManyField(Post, blank=True, related_name='categories') diff --git a/blogging/static/django_blog.css b/blogging/static/django_blog.css index 45a882d..303f14b 100644 --- a/blogging/static/django_blog.css +++ b/blogging/static/django_blog.css @@ -1,7 +1,7 @@ body { background-color: #eee; color: #111; - font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; + font-family: 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; margin:0; padding:0; } diff --git a/blogging/templates/.DS_Store b/blogging/templates/.DS_Store new file mode 100644 index 0000000..adbf147 Binary files /dev/null and b/blogging/templates/.DS_Store differ diff --git a/blogging/templates/blogging/.DS_Store b/blogging/templates/blogging/.DS_Store new file mode 100644 index 0000000..ecb91dd Binary files /dev/null and b/blogging/templates/blogging/.DS_Store differ diff --git a/blogging/templates/blogging/detail.html b/blogging/templates/blogging/detail.html index ea5b9c8..04c8b63 100644 --- a/blogging/templates/blogging/detail.html +++ b/blogging/templates/blogging/detail.html @@ -1,17 +1,17 @@ -{% extends "base.html" %} +{% extends 'base.html' %} {% block content %} -Home +Home

{{ post }}

-

- Posted by {{ post.author.username }} — {{ post.published_date }} +

+ Posted by {{ post.author.username }} — {{ post.published_date }}

-
- {{ post.text }} +
+ {{ post.text }}
-