Django 入门学习(3)

简介:

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


settings.py 默认已经绑定了sqlite3


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}



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


model.py

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

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'MyApp1'
]



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

Python manage.py makemigrations
python manage.py migrate


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


views.py

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还是和之前一样

<!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


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

wKioL1j955zBNinVAACuc8Ub8Ds370.jpg






本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1918976,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
监控 安全 应用服务中间件
python中Django入门(四)
python中Django入门(四)
31 0
|
4月前
|
Python API 网络架构
Django实践-10RESTful架构和DRF入门
Django实践-10RESTful架构和DRF入门
Django实践-10RESTful架构和DRF入门
|
7月前
|
存储 缓存 数据库
Django框架学习(四)
Django框架学习(四)
|
6月前
|
SQL 关系型数据库 MySQL
Django入门ORM(Django操作MySQL) 专题一
Django入门ORM(Django操作MySQL) 专题一
|
1月前
|
中间件 数据安全/隐私保护 Python
python中Django入门(三)
python中Django入门(三)
17 0
|
1月前
|
前端开发 JavaScript Shell
python中Django入门(二)
python中Django入门(二)
13 0
|
1月前
|
SQL Shell 数据库
python中Django入门(一)
python中Django入门(一)
28 0
|
5月前
|
Python
05 Django入门 - 视图(介绍)
05 Django入门 - 视图(介绍)
26 0
|
5月前
|
SQL Shell 数据库
03 Django入门 - 设计模型(介绍)
03 Django入门 - 设计模型(介绍)
37 0
|
5月前
|
Shell Python
02 Django入门 - 虚拟环境下安装django
02 Django入门 - 虚拟环境下安装django
36 0