每日作业5.22

1.整理web框架推导思路
2.安装django并正常启动访问,测试三板斧
3.整理今日日考题,django内容
选做题
1.结合前端,django,MySQL,pymysql模块实现数据库数据动态展示到前端

目录:

settings.py:app01注册

# 注册的app(app就是功能模块)
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
]

urls.py:添加路由

from django.conf.urls import url
from django.contrib import admin
from app01 import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    # 写我们自己的路由与视图函数对应关系,这里我们可以根据功能的不同执行不同的app下面的views
    url(r'^index/', views.index),
    url(r'^get_user/', views.get_user),
    url(r'^test/', views.test),
]

views.py:添加视图函数

from django.shortcuts import render,HttpResponse,redirect
import pymysql

# Create your views here.
# /index
def index(request):
    """
    :param request: 请求相关的所有数据,比之前用wsgrief模块实现传给函数的env大字典更厉害,request这是个对象
    :return:
    """
    # return HttpResponse("你好啊,我是Django")
    return render(request,"index.html")    #自动你去templates文件夹下帮你查找文件

# 动态获取用户信息
def get_user(request):
    # 去数据库中获取数据,传递给html页面,借助于模板语法 发送给浏览器
    # 链接
    conn = pymysql.connect(
        host='127.0.0.1',
        port=3306,
        user='root',
        password='123456',
        database='atm_db',
        charset='utf8',
        # autocommit=True    # 自动提交
    )
    # 游标
    cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)  # 执行完毕返回的结果集以字典显示

    # 执行sql语句
    sql = 'select * from userinfo'
    rows = cursor.execute(sql)  # 执行sql语句,返回sql查询成功的记录数目
    # 获取数据:
    data_list = cursor.fetchall()  # [{},{},,,,]列表套字典格式
    cursor.close()
    conn.close()

    return render(request,"userinfo.html",{"user_data":data_list})


#语法测试
def test(request):
    views_list = ["a", "b", "c", "d", "e"]
    return render(request,"Grammar_test.html",{"data_list":views_list})

userinfo.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>userinfo</title>
    <!-- Bootstrap3 核心 CSS 文件 -->
    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">

    <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>

    <!-- Bootstrap3 核心 JavaScript 文件 -->
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <!-- <link rel="stylesheet" href="css/font-awesome.min.css"> -->
    <link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-8 col-md-offset-2">
                <h1 class="text-center">用户数据</h1>
                <br/>
                <table class="table table-striped table-hover">
                    <thead>
                        <tr>
                            <th  class="text-center">ID</th>
                            <th  class="text-center">username</th>
                            <th  class="text-center">password</th>
                            <th  class="text-center">balance</th>
                            <th  class="text-center">flow</th>
                        </tr>
                    </thead>
                    <tbody>
                        {% for user_dict in user_data %}
                            <tr>
                                <td>{{ user_dict.id}}</td>
                                <td>{{ user_dict.username}}</td>
                                <td>{{ user_dict.password}}</td>
                                <td>{{ user_dict.balance}}</td>
                                <td>{{ user_dict.flow}}</td>
                            </tr>
                        {% endfor %}
                    </tbody>
                </table>
            </div>>
        </div>
    </div>
</body>
</html>

浏览器访问

2.尝试着摸索django模版语法

链接:https://www.cnblogs.com/baicai37/p/12943989.html

原文地址:https://www.cnblogs.com/baicai37/p/12951367.html