Django实战: 利用AJAX技术实现博文实时搜索

本文介绍了如何使用Django 2.0结合AJAX技术实现博客实时搜索功能。通过AJAX,网页可以异步更新,提供搜索提示、用户名验证等应用场景。在Django中创建APP,设计相关模型、URL、视图和模板,实现了搜索页面与服务器的数据交换,展示搜索结果数量,并在用户提交搜索后返回完整的搜索结果。
摘要由CSDN通过智能技术生成

学习Python Web和Django开发不能只学习Python。我们有时必需借助其它技术比如AJAX实现我们想要的功能。今天我们就要利用Django 2.0 + AJAX开发一个功能性页面: 我们一边输入关键词,网页一边会给你提示所找到的博文数量。


什么是AJAX技术?它的应用场景有哪些?

Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。


Ajax常见应用场景包括:

  • 搜索提示: 在你输入关键词还未提交前,搜索框给你提示。

  • 用户名验证: 当你输入用户名时,页面提示你是否已注册。

  • 显示投票结果:用户投票后,不用加载页面即可显示投票结果。

  • 评论加载: 在你提交新的评论后,不用重新加载整个网页就会显示新提交的评论。


以上场景都是Django单靠自己无法实现的。注意Ajax应只用于与服务器少量数据交换,且存安全隐患,不宜广泛使用。


总体开发思路

我们创建一个叫blog的APP,并把它加入到INSTALLED_APP里去,然后在后台添加一些文章, 用于搜索(如下所示)。我们需要设计2个功能性页面: 一个展示博客文章清单,一个搜索页面。

下面我们来看下具体代码。


models.py

本案例中所用到的Article模型代码如下: 

from django.db import models
from django.contrib.auth.models import User
from django.urls import reverse
from django.utils.timezone import now


class Article(models.Model):

   STATUS_CHOICES = (
       ('d', '草稿'),
       
('p', '发表'),
   
)
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值