From 970e5635e05c1837d4de4996bdf206aa33392d50 Mon Sep 17 00:00:00 2001 From: Victor Medina Date: Tue, 14 Jan 2020 18:46:11 -0800 Subject: [PATCH 1/4] 'lesson7' --- blogging/admin.py | 23 ++++++++++++++++++++--- blogging/migrations/0004_modeladmin2.py | 22 ++++++++++++++++++++++ blogging/models.py | 11 ++++++++++- 3 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 blogging/migrations/0004_modeladmin2.py diff --git a/blogging/admin.py b/blogging/admin.py index 1175916..817bcd5 100644 --- a/blogging/admin.py +++ b/blogging/admin.py @@ -1,6 +1,23 @@ + from django.contrib import admin -from blogging.models import Post, Category + +from blogging.models import Post, Category, ModelAdmin2 + + +class ModelAdminClass(admin.TabularInline): + model = ModelAdmin2 + extra = 1 + + +class PostAdmin(admin.ModelAdmin): + inlines = (ModelAdminClass,) + + +class CategoryAdmin(admin.ModelAdmin): + exclude = ('posts',) -admin.site.register(Post) -admin.site.register(Category) +# and a new admin registration +admin.site.register(Post, PostAdmin) +admin.site.register(Category, CategoryAdmin) +# Register your models here. diff --git a/blogging/migrations/0004_modeladmin2.py b/blogging/migrations/0004_modeladmin2.py new file mode 100644 index 0000000..c7b25e1 --- /dev/null +++ b/blogging/migrations/0004_modeladmin2.py @@ -0,0 +1,22 @@ +# Generated by Django 2.1.1 on 2020-01-15 02:18 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('blogging', '0003_auto_20191104_1942'), + ] + + operations = [ + migrations.CreateModel( + name='ModelAdmin2', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blogging.Category')), + ('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blogging.Post')), + ], + ), + ] diff --git a/blogging/models.py b/blogging/models.py index 10d6cc3..58d805f 100644 --- a/blogging/models.py +++ b/blogging/models.py @@ -1,5 +1,7 @@ -from django.db import models +from django.db import models # <-- This is already in the file from django.contrib.auth.models import User +from django.urls import reverse + class Post(models.Model): title = models.CharField(max_length=128) @@ -9,6 +11,9 @@ class Post(models.Model): modified_date = models.DateTimeField(auto_now=True) published_date = models.DateTimeField(blank=True, null=True) + def get_absolute_url(self): + return reverse('blogging:detail', kwargs={'pk':self.pk}) + def __str__(self): return self.title @@ -22,3 +27,7 @@ class Meta: def __str__(self): return self.name + +class ModelAdmin2(models.Model): + post = models.ForeignKey(Post, on_delete=models.CASCADE) + category = models.ForeignKey(Category, on_delete=models.CASCADE) From ab9420ff6e9710e4de98d0c4c6b32349efaebad3 Mon Sep 17 00:00:00 2001 From: Victor Medina Date: Wed, 15 Jan 2020 20:21:11 -0800 Subject: [PATCH 2/4] lesson 8 added allauth and modelform --- blogging/forms.py | 7 +++++++ blogging/migrations/0005_comment.py | 22 ++++++++++++++++++++ blogging/models.py | 8 +++++++ blogging/templates/blogging/my_template.html | 15 +++++++++++++ blogging/views.py | 21 ++++++++++++++++++- mysite/settings.py | 14 +++++++++++++ mysite/urls.py | 3 ++- 7 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 blogging/forms.py create mode 100644 blogging/migrations/0005_comment.py create mode 100644 blogging/templates/blogging/my_template.html diff --git a/blogging/forms.py b/blogging/forms.py new file mode 100644 index 0000000..ef33ff1 --- /dev/null +++ b/blogging/forms.py @@ -0,0 +1,7 @@ +from django.forms import ModelForm +from blogging.models import Comment + +class MyCommentForm(ModelForm): + class Meta: + model = Comment + fields = ['title', 'text', 'notes'] \ No newline at end of file diff --git a/blogging/migrations/0005_comment.py b/blogging/migrations/0005_comment.py new file mode 100644 index 0000000..6a9b829 --- /dev/null +++ b/blogging/migrations/0005_comment.py @@ -0,0 +1,22 @@ +# Generated by Django 2.1.1 on 2020-01-16 04:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('blogging', '0004_modeladmin2'), + ] + + operations = [ + migrations.CreateModel( + name='Comment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=100)), + ('text', models.CharField(max_length=255)), + ('notes', models.CharField(max_length=255)), + ], + ), + ] diff --git a/blogging/models.py b/blogging/models.py index 58d805f..886bb47 100644 --- a/blogging/models.py +++ b/blogging/models.py @@ -31,3 +31,11 @@ def __str__(self): class ModelAdmin2(models.Model): post = models.ForeignKey(Post, on_delete=models.CASCADE) category = models.ForeignKey(Category, on_delete=models.CASCADE) + +class Comment(models.Model): + title = models.CharField(max_length=100) + text = models.CharField(max_length=255) + notes = models.CharField(max_length=255) + + def __str__(self): # __unicode__ on Python 2 + return self.title \ No newline at end of file diff --git a/blogging/templates/blogging/my_template.html b/blogging/templates/blogging/my_template.html new file mode 100644 index 0000000..6a4577c --- /dev/null +++ b/blogging/templates/blogging/my_template.html @@ -0,0 +1,15 @@ + + + +edit + + + +
+{% csrf_token %} +{{form}} + +