前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django 入门学习(3)

Django 入门学习(3)

作者头像
py3study
发布2020-01-09 19:47:34
2840
发布2020-01-09 19:47:34
举报
文章被收录于专栏:python3python3

在例4的基础上,我希望直接保存数据到数据库中。 Django自带了一个sqlite的数据库,已经配置好了 可以直接使用。使用方式和sqlalchemy类似,相当于一个内置的ORM框架。

settings.py 默认已经绑定了sqlite3

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

根据MTV结构,数据库应该在model.py里面创建,如下所示

model.py

代码语言:javascript
复制
from django.db import models
# Create your models here.
class UserInfo(models.Model):
    user=models.CharField(max_length=32)
    email=models.CharField(max_length=32)

在settings.py里面需要注册App

settings.py

代码语言:javascript
复制
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'MyApp1'
]

之后运行下面2条命令就会自己创建对应的数据库

代码语言:javascript
复制
Python manage.py makemigrations
python manage.py migrate

接下来,在views.py把用户提交的信息写入表, 然后读取该表的内容放入一个列表,把这个列表发给模板引擎生成对应的html页面

views.py

代码语言:javascript
复制
from django.shortcuts import render
from django.shortcuts import HttpResponse
from MyApp1 import models
# Create your views here.

def index(request):
    if request.method == 'POST':
        u=request.POST.get('user')
        e=request.POST.get('email')
        models.UserInfo.objects.create(user=u,email=e)
    data_list=models.UserInfo.objects.all()
    return render(request,'index.html',{'data':data_list})

Index.html还是和之前一样

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>This is 5th Example!</h1>
    <form action="/index/" method="post">
        <input type="text" name="user">
        <input type="email" name="email">
        <input type="submit" value="Submit">
    </form>
    <table border="1">
        <th>用户名</th>
        <th>邮箱</th>
        <tr>
            {% for item in data %}
             <td> {{ item.user }}</td>
             <td> {{ item.email }}</td>
        </tr>
    {% endfor %}
    </table>
</body>
</html>

最后运行

wKiom1j955qSMxg-AACuoi97e1o613.jpg
wKiom1j955qSMxg-AACuoi97e1o613.jpg

图形工具查看一下sqlite3,确认数据已经保存

wKioL1j955zBNinVAACuc8Ub8Ds370.jpg
wKioL1j955zBNinVAACuc8Ub8Ds370.jpg
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档