Django 快速搭建博客 第九节(评论功能的实现)

距离上一节已经快一个礼拜没有写了,我们的博客也快写完了,只不过更多的是一些进阶的学习,这一节,我们学习自己搭建一个文章评论功能

文章评论功能的实现

1 对于文章评论功能,我们可以看到成品是这样子的
评论成品.png

django官方建议一个功能一个app,所以这样我们可以再创建一个app,这里我们把它叫做comments

1 我们在manage.py 同级目录创建app:

python manage.py startapp comments

然后打开blogproject 工程下的settings,把comments 加进去,不了解的可以看往期创建blog app的教程
settings.png

2 这里我们再根据评论内容创建model
model.png

从model中,我们可以看出来,我们需要创建

name email url text created_time post
其中created_time 为自动创建, post为外键,关联到blog的的具体某篇文章

3 接下来,我们进行数据库的迁移操作
我们使用命令:
数据库迁移.png

4 现在我们把数据模型都已经弄好了,接下来就是如何把数据从html标签中提交到服务器上了,当然了,django现在已经为我们做好了这些,接下来我们在model.py同级目录下创建一个forms.py ,用来存放存放表单的代码
/comments/forms.py

from django import forms
from .models import Comment

class CommentForm(forms.ModelForm):
    #Meta 里指定一些和表单相关的
    class Meta:
        #表明这个表单对应的数据库模型是 Comment 类
        model = Comment
        fields = ['name','url','email','text']

5 这里代码已经解释了,接下来我们需要对提交的表单进行数据的处理,我们写一个view.py 视图函数
/comments/views.py

from django.shortcuts import render,get_object_or_404,redirect
from blog.models import Post

from .models import Comment
from .forms import CommentForm

# Create your views here.

def post_c
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要用Django快速搭建博客系统,可以按照以下步骤进行: 1. 安装Django 首先需要安装Django,可以使用pip命令进行安装: ``` pip install django ``` 2. 创建Django项目和应用 使用以下命令创建一个Django项目和一个应用: ``` django-admin startproject myblog cd myblog python manage.py startapp blog ``` 这里的myblog是项目名称,blog是应用名称。 3. 配置数据库 在myblog/settings.py文件中配置数据库信息,这里使用SQLite数据库: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } ``` 4. 创建博客模型 在blog/models.py文件中定义博客的模型: ```python from django.db import models class Blog(models.Model): title = models.CharField(max_length=100) content = models.TextField() pub_date = models.DateTimeField(auto_now_add=True) ``` 这里定义了一个博客模型,包括标题、内容和发布时间。 5. 创建数据库表 使用以下命令创建数据库表: ``` python manage.py makemigrations python manage.py migrate ``` 6. 创建视图 在blog/views.py文件中定义博客列表视图和详情视图: ```python from django.shortcuts import render, get_object_or_404 from .models import Blog def blog_list(request): blogs = Blog.objects.all() return render(request, 'blog_list.html', {'blogs': blogs}) def blog_detail(request, pk): blog = get_object_or_404(Blog, pk=pk) return render(request, 'blog_detail.html', {'blog': blog}) ``` 这里定义了博客列表视图和详情视图,通过模板渲染展示博客信息。 7. 创建模板 在blog/templates目录下创建博客列表和详情的模板: blog_list.html: ```html {% for blog in blogs %} <h2><a href="{% url 'blog_detail' blog.pk %}">{{ blog.title }}</a></h2> <p>{{ blog.content }}</p> <p>{{ blog.pub_date }}</p> {% endfor %} ``` blog_detail.html: ```html <h2>{{ blog.title }}</h2> <p>{{ blog.content }}</p> <p>{{ blog.pub_date }}</p> ``` 8. 配置URL 在myblog/urls.py文件中配置博客列表和详情的URL: ```python from django.urls import path from blog.views import blog_list, blog_detail urlpatterns = [ path('', blog_list, name='blog_list'), path('<int:pk>/', blog_detail, name='blog_detail'), ] ``` 9. 运行Django项目 使用以下命令运行Django项目: ``` python manage.py runserver ``` 然后在浏览器中访问http://127.0.0.1:8000/就可以看到博客列表页面了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值