feature/pdf-upload #1

Merged
AlxS merged 3 commits from feature/pdf-upload into main 2024-09-01 23:16:41 +00:00
9 changed files with 71 additions and 5 deletions
Showing only changes of commit b19c7ab448 - Show all commits

3
.gitignore vendored
View File

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

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(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

@ -13,5 +13,9 @@ 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)
class ConusFilePDF(models.Model):
fileName = models.CharField(max_length=32)
file = models.FileField(upload_to="PDFuploads/")

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,8 @@ 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('<slug:slug>', views.post_page, name="page")
]

View File

@ -26,3 +26,15 @@ def post_new(request):
else:
form = forms.CreatePost()
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})

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_page' %}">click here</a></p>
{% endblock %}