Как из модели другого приложения получить данные?

Необходимо из приложения "createpublication" получить данные из модели и внести их в html шаблон приложения "publication".

models.py:

from django.db import models
from django.contrib.auth.models import User

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.title

views.py:

from django.shortcuts import render, redirect
from .forms import PostForm

def create_post(request):
    if request.method == 'POST':
        form = PostForm(request.POST, author=request.user)
        if form.is_valid():
            form.save()
            return redirect('home')
    else:
        form = PostForm(author=request.user)
    return render(request, 'publication/home.html', {'form': form})

forms.py:

from django import forms
from .models import Post
class PostForm(forms.ModelForm):
        content = forms.CharField(widget=forms.Textarea(attrs={'class':'content_toggle app-textarea',
                                'placeholder':'Что у вас нового?'}))
        class Meta:
            model = Post
            fields = ['content']

        def __init__(self, *args, **kwargs):
            self.author = kwargs.pop('author', None)
            super().__init__(*args, **kwargs)

        def save(self, commit=True):
            instance = super().save(commit=False)
            instance.author = self.author
            if commit:
                instance.save()
            return instance

в приложении "publication" в html шаблоне форма не отображается, а в родном приложении "createpublication" отображается.

<form method="POST">
<div class="post_header">
    <div class="newpost_style">
           {% csrf_token %}
           {{ form.as_p }}
    </div>
</div>
Вернуться на верх