@explain:以下内容大都源于“自强学堂”
- 新建一个 django project
django-admin.py startproject [name]
或者django-admin startproject [name]
新建了一个 mysite 目录,其中还有一个 mysite 目录,这个子目录 mysite 中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, init.py 是python包的目录结构必须的,与调用有关。
- 新建 app
python3 manage.py startapp [appname]
或者
django-admin.py startapp [appname]
可以看到mysite中多个一个 learn 文件夹,其中有以下文件。
learn/
├── init.py
├── admin.py
├── models.py
├── tests.py
└── views.py
注:Django 1.8.x 以上的,还有一个 migrations 文件夹。Django 1.9.x 还会在 Django 1.8 的基础上多出一个 apps.py 文件。但是这些都与本文无关。
新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)
同步数据库
python3 manage.py syncdb
django1.8以上需要添加:
python3 manage.py makemigrations
python3 manage.py migrate
这种方法可以创建表,当你在models.py中新增了类时,运行它就可以自动在数据库中创建表了,不用手动创建。
备注:对已有的 models 进行修改,Django 1.7之前的版本的Django都是无法自动更改表结构的..利用south使用开发者服务器:
python3 manage.py runserver
当提示端口被占用的时候,可以用其它端口:
python manage.py runserver 8001
python manage.py runserver 9999
(当然也可以kill掉占用端口的进程)
监听所有可用 ip (电脑可能有一个或多个内网ip,一个或多个外网ip,即有多个ip地址)
python manage.py runserver 0.0.0.0:8000
如果是外网或者局域网电脑上可以用其它电脑查看开发服务器
访问对应的 ip加端口,比如 http://172.16.20.2:8000
如果是在另一台电脑上访问要用 python manage.py ip:port 的形式,比如监听所有ip:
python manage.py runserver 0.0.0.0:8000
监听机器上所有ip 8000端口,访问时用电脑的ip代替 127.0.0.1
清空数据库:
python3 manage.py flush创建超级管理员:
python manage.py createsuperuser
按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填
修改 用户密码可以用:
python manage.py changepassword username
- Django 项目环境终端
python3 manage.py shell
Django默认会使用IPython或bpython。但如果你没有安装它们或者就是要使用简装版的话,可以加上–plain选项,即:
django-admin.py shell –plain - 数据库命令行调用
python3 manage.py dbshell
Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码。
在这个终端可以执行数据库的SQL语句。如果您对SQL比较熟悉,可能喜欢这种方式。