implemented viewcount

This commit is contained in:
CDaut 2022-09-12 00:37:42 +02:00 committed by CDaut
parent a8b2b6d1c0
commit dab1a625c6
6 changed files with 24 additions and 2 deletions

View file

@ -11,7 +11,7 @@ services:
- "8000:8000" - "8000:8000"
env_file: env_file:
- envvars.env - envvars.env
command: python3 manage.py runserver_plus --cert-file cert.pem --key-file key.pem --keep-meta-shutdown 0.0.0.0:8000 command: python3 manage.py runserver 0.0.0.0:8000
db: db:
image: postgres:14.3-alpine image: postgres:14.3-alpine

View file

@ -1,7 +1,7 @@
FROM python:3.10-slim FROM python:3.10-slim
ENV PYTHONBUFFERED 1 ENV PYTHONBUFFERED 1
RUN apt update && apt upgrade RUN apt update && apt upgrade -y
RUN mkdir "/markdownblog" RUN mkdir "/markdownblog"
WORKDIR "/markdownblog" WORKDIR "/markdownblog"
ADD ./requirements.txt /markdownblog/ ADD ./requirements.txt /markdownblog/

View file

@ -0,0 +1,18 @@
# Generated by Django 4.0.5 on 2022-09-11 22:33
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('blog', '0002_alter_blogpost_title_alter_tag_name_alter_topic_name'),
]
operations = [
migrations.AddField(
model_name='blogpost',
name='views',
field=models.IntegerField(default=0),
),
]

View file

@ -30,3 +30,4 @@ class Blogpost(models.Model):
tags = models.ManyToManyField(Tag) tags = models.ManyToManyField(Tag)
topic = models.ForeignKey(Topic, blank=True, null=True, on_delete=models.CASCADE) topic = models.ForeignKey(Topic, blank=True, null=True, on_delete=models.CASCADE)
mdfile = models.CharField(max_length=255) mdfile = models.CharField(max_length=255)
views = models.IntegerField(default=0)

View file

@ -32,6 +32,8 @@ def render_md_file(path) -> Template:
def viewblog(request, title) -> HttpResponse: def viewblog(request, title) -> HttpResponse:
post = Blogpost.objects.get(title=title) post = Blogpost.objects.get(title=title)
post.views += 1
post.save()
filepath = os.path.join(os.environ.get("MD_FILE_PATH"), title + ".md") filepath = os.path.join(os.environ.get("MD_FILE_PATH"), title + ".md")
rendered_html = render_md_file(filepath) rendered_html = render_md_file(filepath)

View file

@ -19,6 +19,7 @@
<li class="topic_list_element" draggable="true" ondragstart="drag(event)" <li class="topic_list_element" draggable="true" ondragstart="drag(event)"
id="list_elem_post_{{ post.id }}"> id="list_elem_post_{{ post.id }}">
<a href="{% url 'readpost' title=post.title %}">{{ post }}</a> <a href="{% url 'readpost' title=post.title %}">{{ post }}</a>
<p>Views: {{ post.views }}</p>
<a href="/admin/blog/blogpost/{{ post.id }}/delete"> <a href="/admin/blog/blogpost/{{ post.id }}/delete">
<button class="btn waves-effect waves-light btn-danger"> <button class="btn waves-effect waves-light btn-danger">
<span class="material-icons">delete</span> <span class="material-icons">delete</span>