2
私はdjangoを初めて使用しています。私は 'allpost'ビューで私の 'blog'で作成したmypost(データベースに保存したもの)プロジェクト。ここ はcodes-djangoのデータベースに保存されている投稿は表示されません
{% extends 'blog/base.html' %}
{% block content %}
{% for post in post %}
{{post.title}}
{% endfor %}
{% endblock %}
allpostpage.html- views.py-
from django.shortcuts import render,redirect
from . models import Post
from django.utils import timezone
from . forms import PostForm
def blog(request):
return render(request,'blog/blogpage.html')
def allpost(request):
post=Post.objects.all()
return render(request, 'blog/allpostpage.html', {'post': Post})
# the posts are not displaying in this template #
def form(request):
if request.method=='POST':
form=PostForm(request.POST)
if form.is_valid():
post=form.save(commit=False)
post.published_date=timezone.now()
post.save()
return redirect('allpost')
else:
form=PostForm()
return render(request,'blog/formpage.html',{'form':form})
urls.py-
from django.conf.urls import url
from . import views
urlpatterns=[
url(r'^$',views.blog,name="blog"),
url(r'^form$',views.form,name="form"),
url(r'^allpost$',views.allpost,name="allpost"),
]
formpage.html-
{% extends 'blog/base.html' %}
<head>
<title>form</title>
</head>
<body>
{% block content %}
<form method="POST" class="post-form">
{% csrf_token %}
{{form.as_p}}
<button type="submit" class="save-btn btn-default">save</button>
</form>
{% endblock %}
</body>
</html>
です
models.py-
from django.db import models
from django.utils import timezone
class Post(models.Model):
title=models.CharField(max_length=200)
content=models.TextField(max_length=500)
published_date=models.DateTimeField(blank=True)
def publish_date(self):
Post.published_date=timezone.now()
Post.save()
def __str__(self):
return self.title
forms.py-
from django import forms
from . models import Post
class PostForm(forms.ModelForm):
class Meta:
model=Post
fields=('title','content')
ものが私のコードです。確認して修正してください。再び、私たちがフォームで保存した投稿は、 'allpost'ビューの 'allpostpage'テンプレートに表示されません。ありがとう
どうもありがとう:)でなければなりません。それは今働いている。 –