implemented viewcount
This commit is contained in:
parent
a8b2b6d1c0
commit
dab1a625c6
6 changed files with 24 additions and 2 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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/
|
||||||
|
|
|
||||||
18
markdownblog/blog/migrations/0003_blogpost_views.py
Normal file
18
markdownblog/blog/migrations/0003_blogpost_views.py
Normal 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),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue