django从基础之models的基础使用和命令

models的基本使用

基本用法

models是数据操作的API。不需要直接使用SQL语句进行对应表的创建等操作。

  1. settings.py中配置数据库连接相关信息,如驱动、IP地址、用户名、密码等。
  2. models.py中定义数据库表名称及字段信息。
  3. 在Terminal中执行下面命令执行models.py中定义的语句,在数据库中建表。

    1
    2
    python manage.py makemigrations
    python manage.y migrate
  4. 此时在数据库可以查看到创建的表信息。

    实例

    django 自带 sqlite 数据库,已经在 settings.py 中配置好了,可直接使用,以使用 sqlite 为例子。

  • 在 models.py 中定义表及字段信息
    1
    2
    3
    class UserInof(models.Model):
    username=models.CharField(max_length=32, null=True)
    password=models.CharField(max_length=32, null=True)

此处类名为表名,类中定义的为各个字段名及属性。

  • 在 Terminal 中执行命令

    1
    2
    python manage.py makemigrations
    python manage.y migrate
  • 此时在左侧将会出现 db.sqlite3文件,将其拖至右侧边栏的 Database ,即可看到 sqlite 数据库信息
    django-models-sqlite

demo_*开头的为新建的表,auth_*django_*为 django 自带的表。

  • 数据查询及绑定
    sqlite数据插入
    在右侧展示的数据库中双击对应的demo_userinof,即可打开对应的数据库表
    django-sqlite-insert

此处 id 列会自动生成并自增,不需要手动输入。
views.py 定义数据查询

1
2
3
4
5
6
7
8
9
10
def login(request):
if request.method == 'GET':
a = [1,]
# obj_li = models.UserInof.objects.all() # 查询所有
obj_li = models.UserInof.objects.filter(username='test') # 条件查询
for item in obj_li:
print('username--->', item.username)
print('password--->', item.password)

return render(request, 'login.html', locals())

/templates/login.html 数据绑定

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo01</title>
</head>
<body>
<h1>{{ a.0 }}</h1>


{% for item in obj_li %}
<div>
<span>{{ item.username }}</span>
<span>{{ item.password }}</span>
</div>
{% endfor %}

</body>
</html>

此处数据绑定展示,效果如下
django-login-test
1 是通过定义变量列表直接传入。
用户名和密码通过 for 循环绑定。

django基础命令

  • 创建 django project,名称为mysite

    1
    django-admin.py startproject mysite
  • 在 mysite 目录下创建应用,名称为 blog

    1
    python manage.py startapp blog
  • 启动 django 项目

    1
    python manage.py runserver 8080
  • 更改数据库表或字段

    1
    2
    python manage.py makemigrations
    python manage.py migrate

django 1.7.1 以下版本使用python manage.py syncdb命令。

  • 清空数据库

    1
    python manage.py flush
  • 创建超级管理员

    1
    2
    python manage.py createsuperuser  # 按提示输入用户名和密码,邮箱可不输入
    python manage.py changepassword username # 修改用户密码
  • Django 项目环境终端

    1
    python manage.py shell
  • 显示数据库版本信息并在命令行下启动数据库的命令行工具

    1
    python manage.py dbshell

通过 python manage.py 可以看到更多的用法。

Recommended Posts