美文网首页
2019-01-09 Django把数据库中表内容展示在页面

2019-01-09 Django把数据库中表内容展示在页面

作者: 张大志的博客 | 来源:发表于2019-01-09 16:46 被阅读0次

1、环境准备

python3环境
pip3 install django

2、创建项目、应用

django-admin.py startproject yu1
cd yu1
python3 manage.py startapp yuApp

3、修改配置

vim /data/yu1/yu1/settings.py 
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'yuApp'   #将应用添加进来
]
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR+"/templates",],   #设定templates目录的位置
        'APP_DIRS':  True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

4、修改 yu1\yu1\urls.py 文件

vim /data/yu1/yu1/urls.py 
from yuApp import views
urlpatterns = [
    path('admin/', admin.site.urls),
    path('order',views.order),  #增加此行内容
]

5、修改yu1\yuApp\views.py

vim /data/yu1/yuApp/views.py
from django.shortcuts import render
import MySQLdb
def get_data(sql):#获取数据库的数据
    conn = MySQLdb.connect('127.0.0.1','root','123456','test',port=3306)   #test为数据库名
    cur = conn.cursor()
    cur.execute(sql)
    results = cur.fetchall() # 搜取所有结果
    cur.close()
    conn.close()
    return results
def order(request):# 向页面输出订单
    sql = "select * from t" #t为表名
    m_data = get_data(sql)
    return render(request,'order_list.html',{'order':m_data})

6、新建文件\yu1\templates\order_list.html

vim /data/yu1/templates/order_list.html
<html>
    <head>
    <title>费用查询</title>
    </head>
    <body>
    <B>费用展示</B>
    <br>
    <table border="1">
        <tr>
            <th>序号</th>
            <th>用户名</th>
            <th>添加时间</th>
            <th>添加方式</th>
            <th>费用详情</th>
        </tr>

            {% for i in order %}
                <tr>
                <td>{{ forloop.counter }}</td>
                <td>{{ i.0 }}</td>
                <td>{{ i.1 }}</td>
                <td>{{ i.2 }}</td>
                <td>{{ i.3 }}</td>
                <td>{{ i.4 }}</td>
                <td>{{ i.5 }}</td>
                <td>{{ i.6 }}</td>
                </tr>
            {% endfor %}

    </table>
    </body>
</html>

7、修改init.py文件

因为python3不能使用import MySQLdb,所以要先安装pymysql

pip3 install pymysql
vim /data/yu1/yu1/__init__.py
import pymysql
pymysql.install_as_MySQLdb()

8、启动服务

python3 manage.py runserver 0.0.0.0:8000

9、浏览器访问

 http://ip:8000/order  #就可以看到数据库中的内容

参考:https://blog.csdn.net/zhizunyu2009/article/details/74255543

相关文章

  • 2019-01-09 Django把数据库中表内容展示在页面

    1、环境准备 python3环境pip3 install django 2、创建项目、应用 3、修改配置 4、修改...

  • Django后台管理系列之四

    1,Django后台管理的作用 快速生成管理数据库表的页面,从数据库中查找信息,然后展示在页面上。 Django能...

  • Django开发Web页面html增加判断展示

    简单介绍 在使用django开发的时候,页面展示的时候,需要进行权限的判断,有的内容展示,有的内容需要特定的账号才...

  • django MTV

    django中MTV模式即MVC模式 M:负责业务对象和数据库的关系映射(ORM)T:负责如何把页面展示给用户(h...

  • 2018-04-28

    django初级应用 一.实现在浏览器中输入内容,跳转拓展页面继续输入下一个内容, 然后提交到数据库,再从数据库中...

  • 路由反向解析

    在实际的Django项目中,经常需要获取某条URL,为生成的内容配置URL链接。比如,我要在页面上展示一列文章列表...

  • django orm - 模型

    django 模型是数据库中表的映射,也叫对象关系映射(Object Relational Mapping,简称O...

  • 06.后台管理

    假设我们要设计一个新闻网站,我们需要编写展示给用户的页面,从数据库中查找到新闻的信息,然后把它展示在页面上。 但是...

  • CSS Footer固定底部处理

    Footer应用场景 自适应内容高度展示在页面最底部 固定于浏览器窗口底部 Footer 自适应内容高度展示在页面...

  • router 路由与 a 标签的区别

    1、 什么是路由? 路由是根据不同的URL来展示不同的内容或页面;前端路由就是把不同路由对应的不同页面或内容的展示...

网友评论

      本文标题:2019-01-09 Django把数据库中表内容展示在页面

      本文链接:https://www.haomeiwen.com/subject/ncegrqtx.html