django常用命令

新建一个django项目

django-admin startproject 项目名称

启动django项目

python manage.py runserver  # 在django默认端口启动<http://127.0.0.1:8000/>
python manage.py runserver 80   # 在80端口启动,指定端口
python manage.py runserver 0.0.0.0:80   # 指定服务器和端口

创建app

python manage.py startapp app名字

创建数据库表、更改字段code first

python manage.py makemigrations命令

python manage.py makemigrations相当于在该app下建立 migrations目录,并记录下你所有的关于models.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件。

pyhton manage.py migrate命令

pyhton manage.py migrate将该改动作用到数据库文件,比如产生table,修改字段的类型等。

从数据库导出到model(db first)

python manage.py inspectdb

清空数据库

python manage.py flush

创建超级管理员

python manage.py createsuperuser
 
# 修改 用户密码可以用:
python manage.py changepassword username

导出数据 导入数据

# 将数据库数据导出到.json文件
python manage.py dumpdata appname > appname.json
python manage.py dumpdata > appname.json # 将所有数据导入到.json文件
# 将.json文件中的数据更新到数据
python manage.py loaddata appname.json

django项目环境终端

进入项目目录,在命令行输入python manage.py shell即可进入shell模式,在shell模式下可以试验一些代码是否可以正确执行。方便我们调试。

输入后的显示如下:

先导入要执行的模块,如:

# 查询数据库数据
>>>from apps.user.models import User
>>>User.objects.all()
# 可以通过这种方式调用项目中的某个方法,查看执行情况

数据库命令行

使用python manage.py dbshell是开启项目数据库的命令。

执行该命令后,可使用命令行执行sql.

django的migrations

在Django应用中,migrations是一系列文件,位于Django应用的migrations目录下,用以存储Django应用中的model类的变化。
每次在Django应用中对model类的修改,都会对应一个migration文件。

我们可以在migrations文件中执行自定义的SQL和python代码
首先我们需要新建一个文件0006_auto_20200149_2463.py
基本代码如下:
执行自定义的SQL语句,在migrations中有RunSQL类,由于执行SQL语句,
注意:dependencies 列表中对应的是上一次文件的文件名,需要修改。

# -*- coding: utf-8 -*-
# Generated by Django 1.11.27 on 2020-01-29 10:42
from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('ms_test', '0005_auto_20200139_1564'),
    ]

    operations = [
        migrations.RunSQL(
            sql="insert into ms_test_person (name, price) values ( 'qi', 12.9 );"
        )
    ]

自定义执行python代码,有一个RunPython

# -*- coding: utf-8 -*-
# Generated by Django 1.11.27 on 2020-01-29 10:42
from __future__ import unicode_literals

from django.db import migrations, models


def foo(apps, schema_editor):  # 必传的两个参数
    """
    写我们需要执行的python代码
    :return:
    """
    # 获取model类
    Person = apps.get_model('ms_test', 'Person')
    Person.objects.create(name='li', price=13.88)


class Migration(migrations.Migration):

    dependencies = [
        ('ms_test', '0007_auto_20200445_2453'),
    ]

    operations = [
        migrations.RunPython(foo)
    ]

最后执行python manage.py migrate 就可以执行我们自定义的SQL或python代码
在django中还有一种可执行脚本是django的commands。点击此处查看

posted @ 2019-12-22 21:23  Lowell  阅读(598)  评论(0编辑  收藏  举报