Django是python的web应用框架,是用户通过http对数据库或服务进行访问。
![](https://img.haomeiwen.com/i16673436/2c4303ce5baf832c.png)
http服务器:用来接受用户请求,并将请求转发给web应用框架进行处理。Web应用框架处理完以后再发送给http服务器,http服务器再返回给用户。要使用Django
就需要环境的准备。
Django的环境搭建
环境工具:
linux:这里以Ubuntu为例。
python3:这里以3.6版本演示。
pycharm:最好是2017以上版本。
MySQL:5.7版本
工具准备:
需要在Linux建立虚拟环境运行django,在做项目中,项目一需要使用diango1.11版本,项目二需要使用django2.0版本,怎么办呢,这时候使用python的虚拟环境可以有效的进行隔绝,是的项目之间互不影响。
环境搭建:
1、虚拟环境搭建及Django安装。
root@xxx:~$workon #查看当前有哪些虚拟环境。
root@xxx:~$mkvirtualenv -p /usr/bin/python3 envname #创建虚拟环境。
root@xxx:~$workon envname #进入虚拟环境。
root@xxx:~$deactivate #退出虚拟环境。
root@xxx:~$rmvirtualenv envname #删除虚拟环境。
pip install django #安装django。
pip list #查看python环境下第三方库。
2、项目的新建:
在Linux上python虚拟环境下搭建。
(django)root@xxx:~$django-admin startproject projectname #新建项目
#注意: 由于编辑器版本之间的一些差别, 我们统一使用跟编辑器版本无关的通用方式创建项目
#先在命令行创建项目,然后再设置pycharm代码同步
3、pycharm代码同步设置
3.1、用pycharm打开一个空的项目
3.2、选择Tools>Devloyment>Configuration
![](https://img.haomeiwen.com/i16673436/cbb8c8d2bb4603d4.png)
3.3、打开Configuration进行设置:
3.3.1、自定义连接名
3.3.2、选择SFTP连接类型
3.3.3、写上ubuntu系统的ip
3.3.4、写上ssh服务的端口号
3.3.5、写上用户名
3.3.6、写上用户密码
3.3.7、点击测试连接
![](https://img.haomeiwen.com/i16673436/00d55ed6ea881fd6.png)
3.3.8选择Mappings
3.3.9在deployment path on server中,点击后面的...
3.3.10打开linux路径后,选择我们创建好的项目目录
3.3.11注意这里的路径是和前面connection中的root path进行拼接的
![](https://img.haomeiwen.com/i16673436/7368b0969d432f5f.png)
3.3.12选择Tools>Devloyment>options
3.3.13选择ctrl+s保存上传的方式
![](https://img.haomeiwen.com/i16673436/370b7a3f8265a18c.png)
3.3.14选择files>settings>porject Interpreter
3.3.15点击右边设置按钮,选择Add Remote
3.3.16选择连接方式为SSH,填写连接信息
3.3.17在最下面选择我们刚创建好的linux上的虚拟环境
![](https://img.haomeiwen.com/i16673436/c4fe74bc71753752.png)
至此环境搭建完毕。
Django项目目录及文件说明:
(django)root@xxx:~$tree
django_web
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── views.py
│ └── wsgi.py
├── manage.py
manage.py :django中的一个命令行工具,管理django项目
init.py 空文件,告诉python这个目录是python包
setting.py 配置文件,包含数据库信息,调试标志,静态文件等。
urls.py Django项目的URL声明
wsgi.py 部署服务器用到的
服务器的开发与开启:
1、将settings.py文件中的ALLOWED_HOSTS = [ ],改成ALLOWED_HOSTS = ['*' ]
允许访问的客户端的地址, “*”表示的就是任意的ip地址
2、 linux虚拟机网络连接方式是nat端口转发时,需要设置http服务8000端口的转发
3、开启服务的命令: python manage.py runserver 0.0.0.0:8000
开启服务方式一:
命令行模式:
在项目目录下执行命令
python manage.py runserver 0.0.0.0:8000
![](https://img.haomeiwen.com/i16673436/b14c46680c7205b3.png)
开启服务方式二:
1、选择编辑器右上角的Edit Configuration的按钮
2、点击添加Django server
3、改host为Host为0.0.0.0,表示的是允许连接服务器的ip
4、点击Enveironment Variables 项后面的...
5、将DJANGO_SETTINGS_MODULE添加到Name
将项目名.settings添加到Value
![](https://img.haomeiwen.com/i16673436/528ad2955159d3d1.png)
访问服务:
1、当用其中的一种方式开启了服务后,打开浏览器
2、在地址栏输入IP地址和服务的端口号,如果不是虚拟机,ip可以是你宿主机的IP地址
3、可以看到服务正在运行的页面
![](https://img.haomeiwen.com/i16673436/869ccf2fbf74c083.png)
需要注意的点:
ifconfig查看ip,注意网络连接方式
virtualbox的端口转发时使用的是127.0.0.1回环地址
远程连接SSH服务的端口号是22
HTTP服务8000/8080
mysql服务的端口号3306
创建视图函数:
1、在项目目录下创建views.py的函数.
![](https://img.haomeiwen.com/i16673436/997fd11fd99239d7.png)
2、定义视图对应的URL
![](https://img.haomeiwen.com/i16673436/c5072044942118a2.png)
服务启动后在浏览器中输入:
ip地址:8000端口/hello,就能看到网页中出现”hello django”啦!!!
![](https://img.haomeiwen.com/i16673436/9ba60537d8d06972.png)
项目与app的关系
豆瓣就是由读书,电影,音乐,小组等app组成的一个项目.
![](https://img.haomeiwen.com/i16673436/36c5ed0d53c9a92d.png)
新建app
方法一:在Linux中python虚拟环境中创建app
创建命令: python manange.py startapp app_name
(django)root@xxx:~$python manange.py startapp books
(django)root@xxx:~$python manange.py startapp music
在pycharm中将创建的app下载到本地.
方法二:在pycharm中创建app
打开:Tools>>>>Run manage.py Task...
在操作台输入:startapp books
![](https://img.haomeiwen.com/i16673436/b7f074f0c881967f.png)
网友评论