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

时间:2016-03-30 06:59:14

标签: 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

博客/ 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")),
]

这是我在应用blog模板

中显示我最近的博文的方式
{% 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 %}

我想在主页模板中以类似方式显示它。

1 个答案:

答案 0 :(得分:9)

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

from django.db.models import permalink

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

from project.apps.blog.models import Post

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