Compare commits

..

4 Commits

12 changed files with 109 additions and 6 deletions

3
.gitignore vendored
View File

@ -131,6 +131,9 @@ env.bak/
venv.bak/
testappenv/
#Directories
media/
# Spyder project settings
.spyderproject
.spyproject

4
copyStaticScrips.sh Normal file
View File

@ -0,0 +1,4 @@
rm -d -r /var/www/testapp/
mkdir /var/www/testapp
cp -a /root/appdirectory/assets/. /var/www/testapp/static
chown -R www-data:www-data /var/www

View File

@ -1,4 +1,5 @@
from django.contrib import admin
from .models import Post
from .models import Post, ConusFilePDF
# Register your models here.
admin.site.register(Post)
admin.site.register(Post)
admin.site.register(ConusFilePDF)

View File

@ -6,3 +6,8 @@ class CreatePost(forms.ModelForm):
model = models.Post
fields = ['title' , 'body' , 'slug' , 'banner']
class UploadFileForm(forms.ModelForm):
class Meta:
model=models.ConusFilePDF
fields = [ 'fileName', 'file']

View File

@ -0,0 +1,21 @@
# Generated by Django 5.1 on 2024-08-30 23:05
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('post', '0008_post_author'),
]
operations = [
migrations.CreateModel(
name='ConusFilePDF',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('fileName', models.CharField(max_length=32)),
('file', models.FileField(upload_to='PDFuploads/')),
],
),
]

View File

@ -1,5 +1,6 @@
from django.db import models
from django.contrib.auth.models import User
from dynamic_filenames import FilePattern
# Create your models here.
class Post(models.Model):
@ -13,5 +14,11 @@ class Post(models.Model):
def __str__(self):
return self.title
def user_directory_path(instance, filename):
return "user_{0}/{1}".format(instance.user.id, filename)
upload_to_pattern = FilePattern(filename_pattern='PDFuploads/{app_label:.25}/{model_name:.30}/{uuid:base32}{ext}')
class ConusFilePDF(models.Model):
fileName = models.CharField(max_length=32)
#file = models.FileField(upload_to="PDFuploads/")
file = models.FileField(upload_to=upload_to_pattern)

View File

@ -0,0 +1,23 @@
{% extends 'layout.html' %}
{% block title %}
PDF
{% endblock %}
{% block content %}
<section>
<h1>PDFs</h1>
{% for pdf in pdfs %}
<article class="post">
<h2>
<a href="{{ pdf.file.url }}">
{{ pdf.fileName }}
</a>
</h2>
</article>
{% endfor %}
</section>
{% endblock %}

View File

@ -0,0 +1,16 @@
{% extends 'layout.html' %}
{% block title %}
New PDF
{% endblock %}
{% block content %}
<section>
<h1>New PDFt</h1>
<form class="form-with-validation" action="{% url 'post:pdf_page' %}" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form }}
<button class="form-submit">Add Post</button>
</form>
</section>
{% endblock %}

View File

@ -6,6 +6,9 @@ app_name = 'post'
urlpatterns = [
path('', views.post_list, name="list"),
path('new-post/', views.post_new, name="new-post"),
path('<slug:slug>', views.post_page, name="page"),
path('pdf/', views.pdf_page, name="pdf_page"),
path('pdf-list', views.pdf_list, name="pdf_list"),
path('<slug:slug>', views.post_page, name="page")
]

View File

@ -1,5 +1,5 @@
from django.shortcuts import render,redirect
from .models import Post
from .models import Post, ConusFilePDF
from django.contrib.auth.decorators import login_required
from . import forms
@ -25,4 +25,21 @@ def post_new(request):
return redirect('post:list')
else:
form = forms.CreatePost()
return render(request, 'post/post_new.html', {'form': form})
return render(request, 'post/post_new.html', {'form': form})
def pdf_page(request):
if request.method == "POST":
form = forms.UploadFileForm(request.POST, request.FILES)
if form.is_valid():
#Handleuploaded file
form.save()
return redirect('post:pdf_page')
else:
form = forms.UploadFileForm()
return render(request, 'post/pdf_page.html', {'form' : form})
def pdf_list(request):
pdfs = ConusFilePDF.objects.all()
return render(request, 'post/pdf_list.html', {'pdfs': pdfs})

View File

@ -7,4 +7,6 @@
{% block content %}
<h1>Home</h1>
<p>Check out my <a href="/about">About</a> page.</p>
<p>Upload a new PDF <a href="{% url 'post:pdf_page' %}">click here</a></p>
<p>show pdfs <a href="{% url 'post:pdf_list' %}">click here</a></p>
{% endblock %}

View File

@ -71,6 +71,7 @@ TEMPLATES = [
WSGI_APPLICATION = 'testapp.wsgi.application'
CSRF_TRUSTED_ORIGINS = ['https://develop.artemisneo.com']
# Database
# https://docs.djangoproject.com/en/5.1/ref/settings/#databases