এডমিন প্যানেলে পিডিএফ এক্সপোর্ট বাটন যোগ করি
Install Required Packages:
pip install reportlab django-admin-actions
Create the Model:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
Run Migrations:
python manage.py makemigrations
python manage.py migrate
admin.py
from django.contrib import admin
from django.http import HttpResponse
from reportlab.pdfgen import canvas
from io import BytesIO
from django_admin_actions.admin import ActionsModelAdmin
from .models import Post
def generate_pdf(modeladmin, request, queryset):
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="posts.pdf"'
buffer = BytesIO()
p = canvas.Canvas(buffer)
for post in queryset:
p.drawString(100, 700, f"Title: {post.title}")
p.drawString(100, 680, f"Content: {post.content}")
p.showPage()
p.save()
pdf = buffer.getvalue()
buffer.close()
response.write(pdf)
return response
generate_pdf.short_description = "Generate PDF"
@admin.register(Post)
class PostAdmin(ActionsModelAdmin):
list_display = ['title', 'content', 'created_at']
actions = [generate_pdf]
Last updated