Django + sqlite3 插入数据

配置数据库

项目settings.py文件中,对sqlite3配置。

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

创建数据库

  1. 首先,在models模型中创建数据,其格式如下:
    定义一个类,通过类操作
from django.db import models
class index(models.Model):    #index是Class的名称与views的相同,也是创建的表名
    u = models.CharField(max_length=64)    # 创建Char 类型字段,字段长度为64,根据自己实际需求进行更改。
    s = models.CharField(max_length=64)
    e = models.CharField(max_length=64)
  1. 在命令行中输入以下命令 python manage.py makemigrations
    需要指向项目目录中
python manage.py makemigrations

以下为返回内容

  index\migrations\0001_initial.py
    - Create model index
  1. 接着输入 python manage.py migrate
python manage.py migrate

以下返回结果为:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, index, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying index.0001_initial... OK
  Applying sessions.0001_initial... OK

查看数据库

通过Pycharm 工具进行对 db.sqlite3 进行查看,如果无法查看,通过右键属性安装其插件后,便可查看。
里面会有很多关于Django创建的表,暂时无需理会,找到你项目表,进入查看,是否是自己创建的即可。

views层次更改

见代码注释段。

from django.shortcuts import render
from index import models   # 引入创建的模型
def index(request):
    if request.method == "POST":
        username = request.POST.get("username",None)
        sex = request.POST.get("sex",None)
        email = request.POST.get("email",None)
        models.index.objects.create(    #数据库插入语句
            u = username,   #设定字段与传入值进行对应(将会什么内容将会保存在什么字段下。)。
            s = sex,
            e = email,
        )
    user_list = models.index.objects.all()     #将数据全部展示至html中。
    return render(request,"index.html",{"user_list":user_list})

html 代码




    
    
    
    Document


姓名 性别 邮箱

test staticfiles_dirs

{% for i in user_list %} {% endfor %}
姓名 性别 邮箱
{{ i.u }} {{ i.s }} {{ i.e }}

你可能感兴趣的:(Django + sqlite3 插入数据)