Django:如何使用其他应用程序中的模型

Ish*_*han 4 django

我有两个应用程序:homepageblog.我Post在应用程序中有一个模型blog.我可以将此模型用于应用程序,blog但不能用于应用程序homepage.

我如何在应用程序中使用此模型homepage:我想在我的主页中显示我最近的一些博客帖子作为链接.

博客/ models.py

from django.db import models
from django.db.models import permalink

class Post(models.Model):
    title=models.CharField(max_length=140)
    body=models.TextField()
    date=models.DateTimeField()

    def __str__(self):
        return self.title
Run Code Online (Sandbox Code Playgroud)

博客/ urls.py

from django.conf.urls import url, include
from django.views.generic import ListView, DetailView
from blog.models import Post     
from . import views
urlpatterns = [ 
    url(r'^$', ListView.as_view(
        queryset=Post.objects.all().order_by("-date")[:25],
        template_name="blog/blog.php")),
]
Run Code Online (Sandbox Code Playgroud)

这就是我在app blogTemplate中显示我最近的博客文章的方式

{% for post in object_list %}
     <div id="post_list">
     <h2 class="header1"><a href="/blog/{{post.id}}">  {{ post.title }}</a></h2>
     <h5 class="date_time">{{ post.date }}</h5>
     {{ post.PostImage|safe }}
    <br>        
    <div id="button"><a href="/blog/{{post.id}}"><text class="buttonDefault" > READ POST </text></a></div>
    </div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我想在主页模板中类似地显示它.

Ris*_*nha 12

您可以使用与permalink从Django模型导入的方式相同的方式导入其他应用程序中的模型:

from django.db.models import permalink
Run Code Online (Sandbox Code Playgroud)

如果不了解您的项目结构,很难告诉您确切的导入.它可能是这样的:

from project.apps.blog.models import Post
Run Code Online (Sandbox Code Playgroud)

为了让您的生活更轻松,您可以使用一个体面的IDE来为您解析导入(例如PyCharm).