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




    
    Title


    

This is 5th Example!

                                                  用户名         邮箱                      {% for item in data %}               {{ item.user }}               {{ item.email }}              {% endfor %}     

最后运行

Django 入门学习(3)

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

Django 入门学习(3)

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站题目:Django入门学习(3)-创新互联
本文来源:http://scjbc.cn/article/dghipi.html

其他资讯