aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobby <[email protected]>2023-03-26 01:43:15 -0400
committerBobby <[email protected]>2023-03-26 01:43:15 -0400
commitd6a07e1d402cf60202e3533606ff87152bfe5172 (patch)
tree65511c76b53b71e1ff502bc6931f3af5c17be94b
parent8449f83a150fcb577ccaebc14f5d19e7f88ccb7b (diff)
downloadthatcomputerscientist-d6a07e1d402cf60202e3533606ff87152bfe5172.tar.xz
thatcomputerscientist-d6a07e1d402cf60202e3533606ff87152bfe5172.zip
Editable Post dates
-rw-r--r--blog/migrations/0010_alter_post_date.py18
-rw-r--r--blog/migrations/0011_alter_post_date.py18
-rw-r--r--blog/migrations/0012_alter_post_date.py18
-rw-r--r--blog/models.py2
-rw-r--r--blog_admin/views.py10
-rw-r--r--templates/blog_admin/new_post.html6
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 %} />