![image](https://note.youdao.com/yws/api/personal/file/F4606876973543F781C4121B3BE693FE?method=download&shareKey=1b9fb7291f45ff286d80998cd22a06e9)
创建movie项目
创建模型类(逆向生成)
影片sql语句,直接拉到Navicat生成表 逆向生成模型类
http://note.youdao.com/noteshare?id=49e7e45a61fd266869ebacbc0134589b&sub=3F0F4155287749CF88AF0822060B78A9
python manage.py inspectdb>movie/models.py
配置URL
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url('admin/', admin.site.urls),
url('movie/', include('movie.urls')),
]
from django.conf.urls import url
from movie import views
urlpatterns=[
url(r'^$',views.index_view),
]
创建视图函数
from django.shortcuts import render
from movie.models import *
import math
def page(num=1,size=20):#每页显示
num = int(num)
if num < 1:
num = 1
# 计算总页数
total_records = Movie.objects.count()
total_pages = int(math.ceil(total_records * 1.0 / size))
if num > total_pages:
num = total_pages
movielist = TMovie.objects.all() #获取所有数据类列表对象
movies = movielist[((num - 1) * size):(num*size)]#列表切片
return movies,num
<!--首先执行-->
def index_view(request):
# 接收页面的get请求 并获得num值 如果没有就是1
num = request.GET.get('num',1)
num=int(num)
<!--调用上面函数 有两个返回值进行接收 num也传入进行处理-->
pages_list,n = page(num)
pre_page = n-1
next_page = n+1
conext={'movies': pages_list,'pre_page':pre_page,'next_page':next_page}
return render(request,'movie.html',conext)
创建模板显示
<div id="header" class="clearfix">
<ul class="clearfix">
<li>首页</li>
<li>电影</li>
<li>电视剧</li>
<li>动漫</li>
<li>综艺</li>
<li>音乐</li>
<li>MV</li>
<li>视频</li>
<li>短片</li>
<li>公开课</li>
</ul>
</div>
<div id="content" >
<ul class="clearfix">
{% for movie in movies %}
<li>
<!--根据每个movie对象的属性 就是数据库的字段而定 -->
<a ><img src="{{ movie.image }}"/></a>
<h1 class="h1">{{ movie.name }}</h1>
<span class="tip">{{ movie.account}}</span>
</li>
{% endfor %}
</ul>
</div>
<div id="pagebar">
<!--a标签为get请求 传入num参数进行判断-->
<a href="/movie/?num={{ pre_page }}">上一页</a>
<a href="/movie/?num={{ next_page }}">下一页</a>
</div>