我的博客开发(006)

1)新增或编辑博客内容
2)博客文章较多  全部加载过慢-分页加载
同时包含shell模式、模型操作、模板标签、分页器
3.模型新增对象

from blog.models import Blog

blog = Blog()

blog.title = 'xxx'

...

blog.save()
具体指令:

from blog.models import Blog

dir()

Blog.objects.all()

Blog.objects.count()

Blog.objects.all().count()

blog = Blog()

dir()

Blog.objects.all()

blog.title = "shell模式下的第一篇"

blog.content = "xxxxxxx"

from blog.models import BlogType

BlogType.objects.all()[0]

blog_type = BlogType.objects.all()[0]

blog.blog_type = blog_type

from django.contrib.auth.models import User

User.objects.all()

user = User.objects.all()[0]

blog.author = user

blog.save()

Blog.objects.all()

dir(blog)

blog.last_update_time

我的博客开发(006)_第1张图片
shell 命令行模式添加博客

1、python manage.py shell

2、for 循环执行新增博客代码
# 生成30篇博客内容

for i in range(1,31):

    blog = Blog()

    blog.title = "for %s" %i

    blog.blog_type = blog_type

    blog.author = user

    blog.save()

Blog.objects.all().count() #-->37

我的博客开发(006)_第2张图片

定义一个排序信息类在models.py中;按照

    class Meta:

        ordering = ['-created_time']

同步数据库
在shelle 中进行分页

from django.core.paginator import Paginator

dir()  # -->['Blog', 'BlogType', 'Paginator', 'User', '__builtins__', 'blog', 'blog_type', 'i', 'user']

  

  

# del  i  # 移除不必要的内容如i

from blog.models import Blog

blogs = Blog.objects.all()

blog.count()  # 37

paginator = Paginator(blogs,10)

paginator

dir(paginator)

paginator.__doc__

paginator.count  # 34

paginator.num_pages  # 分出来4页

paginator.page_range  # range(1,5)

page1 = paginator.page(1)

page1

dir(page1)

page1.object_list

page1.object_list.count()

# 也可以用help(page1.count)查询方法

设计分页样式:

前端:发送请求,请求打开具体分页内容

后端:处理请求,返回具体分页内容响应请求

localhost:8000/blog/?page=1能够返回第一页的十条数据,其他同理;这里用到了get请求
我的博客开发(006)_第3张图片

现在还却页码:在blog_list.html中增加样式,从bootstrap中引入样式代码:
我的博客开发(006)_第4张图片

两处修正:
我的博客开发(006)_第5张图片

我的博客开发(006)_第6张图片

你可能感兴趣的:(python,javascript,前端,html5,数据库)