我有两个应用程序:homepage和blog.我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> …Run Code Online (Sandbox Code Playgroud) 我一直在制作一个包含列表视图和表单视图的网站。我有一个 form.py ,如下所示:
from django import forms
class ContactForm(forms.Form):
name = forms.CharField(required=True)
email = forms.EmailField(required=True)
message = forms.CharField(required=True)
Run Code Online (Sandbox Code Playgroud)
和views.py:
from django.shortcuts import render
from .forms import ContactForm
from django.views.generic import ListView
from django.views.generic.edit import FormMixin
from blog.models import Post
from django.core.mail import EmailMessage
class PostListAndFormView(FormMixin,ListView):
queryset = Post.objects.all().order_by("-date")[:2]
template_name = 'personal/index.html'
form_class = ContactForm
success_url = 'personal/index.html'
Run Code Online (Sandbox Code Playgroud)
此视图还处理您可以忽略的列表视图功能。
我的 HTML 模板是:
<form action="/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="SEND MESSAGE" />
</form>
Run Code Online (Sandbox Code Playgroud)
最后是 urls.py :
from …Run Code Online (Sandbox Code Playgroud) django ×2