diff options
| author | Bobby <[email protected]> | 2023-03-26 01:43:15 -0400 |
|---|---|---|
| committer | Bobby <[email protected]> | 2023-03-26 01:43:15 -0400 |
| commit | d6a07e1d402cf60202e3533606ff87152bfe5172 (patch) | |
| tree | 65511c76b53b71e1ff502bc6931f3af5c17be94b | |
| parent | 8449f83a150fcb577ccaebc14f5d19e7f88ccb7b (diff) | |
| download | thatcomputerscientist-d6a07e1d402cf60202e3533606ff87152bfe5172.tar.xz thatcomputerscientist-d6a07e1d402cf60202e3533606ff87152bfe5172.zip | |
Editable Post dates
| -rw-r--r-- | blog/migrations/0010_alter_post_date.py | 18 | ||||
| -rw-r--r-- | blog/migrations/0011_alter_post_date.py | 18 | ||||
| -rw-r--r-- | blog/migrations/0012_alter_post_date.py | 18 | ||||
| -rw-r--r-- | blog/models.py | 2 | ||||
| -rw-r--r-- | blog_admin/views.py | 10 | ||||
| -rw-r--r-- | templates/blog_admin/new_post.html | 6 |
6 files changed, 67 insertions, 5 deletions
diff --git a/blog/migrations/0010_alter_post_date.py b/blog/migrations/0010_alter_post_date.py new file mode 100644 index 00000000..d3aa3b3f --- /dev/null +++ b/blog/migrations/0010_alter_post_date.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.4 on 2023-03-26 05:25 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("blog", "0009_post_post_image"), + ] + + operations = [ + migrations.AlterField( + model_name="post", + name="date", + field=models.DateField(blank=True, null=True), + ), + ] diff --git a/blog/migrations/0011_alter_post_date.py b/blog/migrations/0011_alter_post_date.py new file mode 100644 index 00000000..44e8fcde --- /dev/null +++ b/blog/migrations/0011_alter_post_date.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.4 on 2023-03-26 05:27 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("blog", "0010_alter_post_date"), + ] + + operations = [ + migrations.AlterField( + model_name="post", + name="date", + field=models.DateTimeField(auto_now_add=True), + ), + ] diff --git a/blog/migrations/0012_alter_post_date.py b/blog/migrations/0012_alter_post_date.py new file mode 100644 index 00000000..5138b39f --- /dev/null +++ b/blog/migrations/0012_alter_post_date.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.4 on 2023-03-26 05:31 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("blog", "0011_alter_post_date"), + ] + + operations = [ + migrations.AlterField( + model_name="post", + name="date", + field=models.DateTimeField(), + ), + ] diff --git a/blog/models.py b/blog/models.py index 1618f60b..c9f03399 100644 --- a/blog/models.py +++ b/blog/models.py @@ -36,7 +36,7 @@ class Post(models.Model): title = models.CharField(max_length=100) slug = models.SlugField(max_length=100, unique=True) body = models.TextField(blank=True) - date = models.DateTimeField(auto_now_add=True) + date = models.DateTimeField(auto_now_add=False) post_image = models.ImageField(upload_to="{}/cover_images".format(UPLOAD_ROOT), blank=True) author = models.ForeignKey( settings.AUTH_USER_MODEL, diff --git a/blog_admin/views.py b/blog_admin/views.py index 49e309a3..fd724faa 100644 --- a/blog_admin/views.py +++ b/blog_admin/views.py @@ -1,4 +1,4 @@ -import base64 +from datetime import datetime from django.shortcuts import render, redirect, reverse from django.contrib import messages from blog.models import Post, Category, Tag @@ -44,6 +44,7 @@ def new_post(request): slug = request.POST.get('slug') if request.POST.get('slug') else '' post_image = request.FILES['post_image'] if 'post_image' in request.FILES else None additional_tags = request.POST.get('additional_tags') if request.POST.get('additional_tags') else '' + post_date = request.POST.get('post_date') if request.POST.get('post_date') else datetime.now() if additional_tags: tags += additional_tags.split(',') @@ -57,6 +58,7 @@ def new_post(request): post.category = Category.objects.get(id = category) post.slug = slug post.tags.set([Tag.objects.get_or_create(name = tag.strip())[0] for tag in tags]) + post.date = post_date if post_image: post.post_image = post_image post.save() @@ -68,12 +70,12 @@ def new_post(request): else: if not title or not category or not tags or not post_image: messages.error(request, 'Fields marked with asterisk (*) are required.', extra_tags='new_post_message') - return_object = { 'title_value': title, 'category_value': category, 'tags_value': tags, 'slug_value': slug, 'post_image_value': post_image, 'all_tags': all_tags } + return_object = { 'title_value': title, 'category_value': category, 'tags_value': tags, 'slug_value': slug, 'post_image_value': post_image, 'all_tags': all_tags, 'post_date_value': post_date } return render(request, 'blog_admin/new_post.html', { 'title': 'New Post', 'categories': categories, 'return_object': return_object }) else: # create new post try: - post = Post.objects.create(title = title, category = Category.objects.get(id = category), slug = slug, author = request.user, post_image = post_image) + post = Post.objects.create(title = title, category = Category.objects.get(id = category), slug = slug, author = request.user, post_image = post_image, date = post_date) post.tags.set([Tag.objects.get_or_create(name = tag.strip())[0] for tag in tags]) post.save() return redirect(reverse('blog-admin:edit-post', kwargs = { 'slug': post.slug })) @@ -91,7 +93,7 @@ def new_post(request): mode = 'new' if mode == 'edit' and post_id: post_tags = [tag.name for tag in post.tags.all()] - post = { 'id': post.id, 'title': post.title, 'category': post.category.id, 'tags': post_tags, 'slug': post.slug, 'post_image': post.post_image, 'all_tags': all_tags } + post = { 'id': post.id, 'title': post.title, 'category': post.category.id, 'tags': post_tags, 'slug': post.slug, 'post_image': post.post_image, 'all_tags': all_tags, 'post_date': post.date } return render(request, 'blog_admin/new_post.html', { 'title': 'Edit Post', 'categories': categories, 'post': post, 'all_tags': all_tags }) return render(request, 'blog_admin/new_post.html', { 'title': 'Create New Post', 'categories': categories, 'all_tags': all_tags }) diff --git a/templates/blog_admin/new_post.html b/templates/blog_admin/new_post.html index 9984ab9d..02c166f7 100644 --- a/templates/blog_admin/new_post.html +++ b/templates/blog_admin/new_post.html @@ -78,6 +78,12 @@ </select> </td> </tr> + <tr> + <td style="font-weight: bold; padding-right: 20px;">Post Date</td> + <td> + {% comment %} {{ post.post_date|date:"Y-m-d" }} {% endcomment %} + <input type="date" name="post_date" {% if post %} value="{{ post.post_date|date:'Y-m-d' }}" {% endif %} {% if return_object %} value="{{ return_object.post_date_value }}" {% endif %}/> + </td> </table> <br> <input type="submit" class="button button-special" {% if post %} value="Update Post" {% else %} value="Create Post" {% endif %} /> |
