(django)04 django表格

django model

1.定义数据表

(1)创建model

from django.db import models

class Person(models.Model):
    id=models.IntegerField(primary_key=True,auto_created=True)
    first_name=models.CharField(max_length=30)
    last_name=models.CharField(max_length=30)
    gender=models.CharField(max_length=5)
    birthday=models.DateField()

(2)注册model

修改admin.py,这个文件是创建了app之后才会有的

from django.contrib import admin

# Register your models here.
# 将需要关联数据库的表在这里注册
from .mymodels.Person import Person
admin.site.register(Person)

(3)migrate

python manage.py makemigrations
python manage.py migrate

等同于在数据库中执行了

CREATE TABLE myforms_person (
    id         INTERGER       NOT NULL
                            PRIMARY KEY,
    first_name VARCHAR (30) NOT NULL,
    last_name  VARCHAR (30) NOT NULL,
    birthday   DATE         NOT NULL,
    gender     VARCHAR (5)  NOT NULL
);

(4)使用django自带后台管理

创建管理员账户

python manage.py createsuperuser

登录http://localhost:8000/admin,效果如下:
请添加图片描述

2.使用HTML原生table展示数据

(1)模板

user_info.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>

<h1 id="h1">用户信息</h1>
<table border="1px">
    <tr>
        <td>id</td>
        <td>first_name</td>
        <td>last_name</td>
        <td>gender</td>
        <td>birthday</td>
    </tr>
    {% for i in user_list %}
        <tr>
            <td>{{ i.id }}</td>
            <td>{{ i.first_name }}</td>
            <td>{{ i.last_name }}</td>
            <td>{{ i.gender }}</td>
            <td>{{ i.birthday }}</td>
        </tr>
    {% endfor %}
</table>
</body>
</html>

(2)视图

修改views.py

from django.shortcuts import render
from .mymodels.Person import Person   # 引入创建的模型
def add_user(request):
    user_list = Person.objects.all()     #将数据全部展示至html中。
    return render(request,"user_infos.html",{"user_list":user_list})

(3)路由

修改urls.py

path('add_user', add_user, name="add_user"),

(4)效果

请添加图片描述

3.使用bootstrap模板展示数据

(1)模板

boots_table.html

{% load bootstrap3 %}
{% bootstrap_css %}
{% bootstrap_javascript %}

<head>
    <style>
    .col-center-block {
        float: none;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    </style>
</head>

<div class="col-xs-6 col-md-4 col-center-block">
    <table class="table table-striped">
      <caption>用户信息</caption>
      <thead>
            <tr>
                <td>id</td>
                <td>first_name</td>
                <td>last_name</td>
                <td>gender</td>
                <td>birthday</td>
            </tr>
      </thead>
      <tbody>
    {% for i in user_list %}
        <tr>
            <td>{{ i.id }}</td>
            <td>{{ i.first_name }}</td>
            <td>{{ i.last_name }}</td>
            <td>{{ i.gender }}</td>
            <td>{{ i.birthday }}</td>
        </tr>
    {% endfor %}
      </tbody>
    </table>
</div>

(2)视图

修改views.py

def show_user(request):
    user_list = Person.objects.all()     #将数据全部展示至html中。
    return render(request,"boots_table.html",{"user_list":user_list})

(3)路由

修改urls.py

path('showUser', show_user),

(4)效果

请添加图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值