创建项目
django-admin startproject mysite
新建 app
python manage.py startapp app1
配置文件
-
数据库
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbname', 'USER': 'root', 'PASSWORD': 'xxx', 'HOST': '', 'PORT': '', } } # 由于Django内部连接MySQL时使用的是MySQLdb模块,而python3中还无此模块,所以需要使用pymysql来代替 # 如下设置放置的与project同名的配置的 __init__.py文件中 import pymysql pymysql.install_as_MySQLdb()
-
模版
TEMPLATE_DIRS = ( os.path.join(BASE_DIR,'templates'), )
-
静态文件
STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static'), )
迁移数据库
-
创建更改的文件
python manage.py makemigrations
-
将生成的py文件应用到数据库
python manage.py migrate
启动
默认端口为8000,可以自定义端口
python manage.py runserver ip:port
python manage.py runserver 8080
使用开发服务器
为了使阿里云的端口被在外面可以访问做如下设置
-
监听所有ip
python manage.py runserver 0.0.0.0:8002 同时配置 settings.py DEBUG = True ALLOWED_HOSTS = ['*']
-
阿里云防火墙规则添加 tcp:8002
清空数据库
python manage.py flush
此命令会询问是 yes 还是 no, 选择 yes 会把数据全部清空掉,只留下空表
创建超级管理员
python manage.py createsuperuser
# 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填
[root@** dj_test1]# python manage.py createsuperuser
Username (leave blank to use 'root'):
Email address:
Password:
Password (again):
Superuser created successfully.
# 修改 用户密码可以用:
python manage.py changepassword username
导出数据 导入数据
python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json
Django 项目环境终端
python manage.py shell
如果你安装了 bpython 或 ipython 会自动用它们的界面,推荐安装 bpython。
这个命令和 直接运行 python 或 bpython 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。
数据库命令行
python manage.py dbshell
Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码。
在这个终端可以执行数据库的SQL语句。如果您对SQL比较熟悉,可能喜欢这种方式。
更多命令
终端上输入 python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用。