
python manage.py 列出所有子命令python manage.py runserver 启动服务python manage.py runserver 127.0.0.1:80 启动服务按端口号python manage.py startapp xxx 创建应用python manage.py makemigrations# 建立 migrations文件目录# 并记录下你所有的关于models.py的改动,比如0001_initial.py# 没有改动数据库# 应用使用的过程中也不会使用# 如果没有办法建立的时候要检查ctrl+点击能否使用到,有可能在__init__.py需要导入# 前置知识:django_migrations表:记录已经应用到数据库的语句# models.py有改动,migrations文件夹无记录,django_migrations表无记录,MySQL实际表无更新# models.py有改动,migrations文件夹有记录,django_migrations表未有记录,MySQL实际表无更新# models.py有改动,migrations文件夹有记录,django_migrations表有记录,MySQL实际表无更新# models.py有改动,migrations文件夹有记录,django_migrations表有记录,MySQL实际表有更新python manage.py migrate# 数据库迁移,根据上面migrations/0001_initial.py改动数据库# 先找django_migrations表,迁移过的表会记录在其中并不再执行migrate,未找到执行记录则进行migrate# django_migrations表会增加改变过的记录name是migrations文件目录的.py文件python manage.py migrate --fake# fake忽略# 对比django_migrations表的记录,找出没有包含的migration文件# 不会去真正执行migration文件应用到数据库# 但是会在django_migrations表添加记录,表示有记录,可以删除掉记录表示未创建python manage.py migrate --fake-initial# 当对比django_migrations表的记录发现没有未执行的migration文件时# 相比--fake,它还会去检查并生成对应的django_content_type表、auth_permission表的记录# 而当发现还有未执行的migration文件时,如果操作是是建表或者加字段,它会跳过执行修改表结构的语句。# 如果是其他操作,和单纯的migrate一样,会真正执行修改表结构的语句。# 手动修改MySQL的模型代码# 删除models.pypython manage.py inspectdb > 应用名/models.py# 反向生成模型代码
python manage.py startapp demo 创建名为“demo”的app
python manage.py createsuperuser
用户名密码
Django中 LOGIN_URL 默认是 /accounts/login/
setting.py的 INSTALLED_APPS加上
‘xxx’,
INSTALLED_APPS = (# 框架自定义命令'blueapps.contrib.bk_commands','django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.sites','django.contrib.messages','django.contrib.staticfiles','xxx',)