1 运行环境搭建
1.1 手动搭建
(1)安装pip(ubuntu: )
sudo apt-get install python-pip
(2)利用 pip 安装 Django
pip install Django==1.11
// 检查安装成功与否
>>> import django
>>> django.VERSION
(1, 8, 18, 'final', 0)
>>>
>>> django.get_version()
'1.8.18'
(3)新建一个 django project
django-admin.py startproject project_name
特别是在 windows 上,如果报错,尝试用 django-admin 代替 django-admin.py 试试
(4)新建一个app
python manage.py startapp app_name
或 django-admin.py startapp app_name
(5)创建数据库表 或 更改数据库表或字段
Django 1.7.1及以上 用以下命令
# 1. 创建更改的文件
python manage.py makemigrations
# 2. 将生成的py文件应用到数据库
python manage.py migrate
(6)使用开发服务器
python manage.py runserver
# 当提示端口被占用的时候,可以用其它端口:
python manage.py runserver 8001
# 监听机器所有可用 ip (电脑可能有多个内网ip或多个外网ip)
python manage.py runserver 0.0.0.0:8000
# 如果是外网或者局域网电脑上可以用其它电脑查看开发服务器
# 访问对应的 ip加端口,比如 http://172.16.20.2:8000
(7)创建超级管理员
python manage.py createsuperuser
# 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填
# 修改 用户密码可以用:
python manage.py changepassword username
(8) Django 项目环境终端
python manage.py shell
1.2 脚本搭建
(1) 拷贝一个基本的包的文件到服务器的指定路径下,比如:/opt/disk2/var/www/test
(2) 进到deploy.sh的文件夹,执行命令:sh deploy.sh /opt/disk2/var/www/test 执行脚本文件(/opt/disk2/var/www/test为脚本中的web_dir参数)
(3)deploy.sh文件包含的内容:
- 安装依赖
- 构造虚拟环境
- 配置nginx
- 配置uwsgi
- 启动服务
(4)依赖的框架一般在requirements.txt文件里面,比如:
--index-url https://pypi.tuna.tsinghua.edu.cn/simple
certifi==2017.4.17
chardet==3.0.4
cssselect==1.0.1
cssutils==1.0.2
Django==1.11.3
django-filter==1.0.4
django-grappelli==2.10.1
djangorestframework==3.6.3
gevent==1.2.2
greenlet==0.4.12
hjson==2.0.7
idna==2.5
lxml==3.8.0
Markdown==2.6.8
markdown2==2.3.4
MySQL-python==1.2.5
premailer==3.1.0
pytz==2017.2
requests==2.18.1
urllib3==1.21.1
uWSGI==2.0.15
django-redis==4.8.0
脚本运行成功,环境一般就会搭建好,接下来就是创建app,接口开发了!
2 有用知识点
(1)查询集的合并和去重
qs1 = Pathway.objects.filter(label__name='x')
qs2 = Pathway.objects.filter(reaction__name='A + B >> C')
qs3 = Pathway.objects.filter(inputer__name='WeizhongTu')
# 合并到一起
qs = qs1 | qs2 | qs3
这个时候就有可能出现重复的
# 去重方法
qs = qs.distinct()
(2)QuerySet 创建对象的方法
>>> from blog.models import Blog
>>> b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.')
>>> b.save()
总之,一共有四种方法
# 方法 1
Author.objects.create(name="WeizhongTu", email="tuweizhong@163.com")
# 方法 2
twz = Author(name="WeizhongTu", email="tuweizhong@163.com")
twz.save()
# 方法 3
twz = Author()
twz.name="WeizhongTu"
twz.email="tuweizhong@163.com"
twz.save()
# 方法 4,首先尝试获取,不存在就创建,可以防止重复(创建时返回 True, 已经存在时返回 False)
Author.objects.get_or_create(name="WeizhongTu", email="tuweizhong@163.com")
# 返回值(object, True/False)
参考资料:
(1)http://code.ziqiangxuetang.com/django/django-install.html
网友评论