1.配置数据库
# models.py
# Create your models here.
from django.db import models
from datetime import datetime
# Create your models here.
class Users(models.Model):
#id = models.AutoField(primary_key=True) #主键可省略不写
name = models.CharField(max_length=32)
age = models.IntegerField(default=20)
phone = models.CharField(max_length=16)
addtime=models.DateTimeField(default=datetime.now)
class Meta:
db_table = "myapp_users" # 指定表名
指定有一张表名为 myapp_users
2.视图与模板
views.py
from django.shortcuts import render
from django.core.paginator import Paginator
from .models import Users
def database_show(request,Pindex = 1):
kw = request.GET.get('keyword',None)
mywhere = ''
if kw is not None:
ob = Users.objects.filter(name__contains=kw)
mywhere = '?keyword=' + str(kw)
else:
ob = Users.objects.all()
p = Paginator(ob,5)
page1 = p.page(Pindex)
pages = range(1,p.num_pages+1)
max_page = p.num_pages
context = {"dlist":page1,"Pindex":Pindex,"pages":pages,"max_page":max_page,"keyword":kw,"mywhere":mywhere}
return render(request,'myapp/database_show.html',context)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>展示数据</title>
</head>
<style>
h2{
text-align: center;
}
table{
margin: 20px auto;
height: 300px;
width: 500px;
border-collapse:collapse;
}
table,th, td
{
text-align:center;
border: 1px solid black;
}
div{
text-align: center;
}
form{
text-align: center;
}
</style>
<body>
<div><a href="{% url 'index' %}">返回首页</a></div>
<h2>展示数据</h2>
<hr>
<form action="{% url 'database_show' 1 %}" method="get">
<input type="text" name="keyword">
<input type="submit" value="搜索">
</form>
<table>
<tr>
<td>编号</td>
<td>名字</td>
<td>年龄</td>
<td>电话</td>
<td>添加时间</td>
</tr>
{% for list in dlist %}
<tr>
<td>{{ list.id }}</td>
<td>{{ list.name }}</td>
<td>{{ list.age }}</td>
<td>{{ list.phone }}</td>
<td>{{ list.addtime }}</td>
</tr>
{% endfor %}
</table>
<div style="margin-bottom: 30px">
{% for page in pages %}
<a href="{% url 'database_show' page %}{{ mywhere }}">{{ page }}</a>
{% endfor %}
</div>
<div>
{% if Pindex > 1 and Pindex < max_page %}
<a href="{% url 'database_show' Pindex|add:-1 %}{{ mywhere }}"><button>上一页</button></a>
<a href="{% url 'database_show' Pindex|add:1 %}{{ mywhere }}"><button>下一页</button></a>
{% elif Pindex == 1 and max_page != 1 %}
<button disabled="disabled">上一页</button>
<a href="{% url 'database_show' Pindex|add:1 %}{{ mywhere }}"><button>下一页</button></a>
{% elif Pindex == max_page and max_page != 1 %}
<a href="{% url 'database_show' Pindex|add:-1 %}{{ mywhere }}"><button>上一页</button></a>
<button disabled="disabled">下一页</button>
{% elif Pindex == 1 and max_page == 1 %}
<button disabled="disabled">上一页</button>
<button disabled="disabled">下一页</button>
{% endif %}
</div>
</body>
</html>