配置数据库
项目settings.py
文件中,对sqlite3
配置。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
创建数据库
- 首先,在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)
- 在命令行中输入以下命令
python manage.py makemigrations
需要指向项目目录中
python manage.py makemigrations
以下为返回内容
index\migrations\0001_initial.py
- Create model index
- 接着输入
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 代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="/index/" method="POST">
<lable>姓名</lable><input type="text" name="username">
<lable>性别</lable><input type="text" name="sex">
<lable>邮箱</lable><input type="text" name="email">
<input type="submit" value="提交">
</form>
<h1 id="h1">test staticfiles_dirs</h1>
<table border="1px">
<tr>
<td>姓名</td>
<td>性别</td>
<td>邮箱</td>
</tr>
{% for i in user_list %}
<tr>
<td>{{ i.u }}</td>
<td>{{ i.s }}</td>
<td>{{ i.e }}</td>
</tr>
{% endfor %}
</table>
<script src="/abc/jquery-2.2.4.min.js"></script>
<script>
$("#h1").css("color","red")
</script>
</body>
</html>