一、基本认知
http服务器:用来接受用户请求,并将请求转发给web应用框架进行处理。
Web应用框架处理完以后再发送给http服务器,http服务器再返回给用户。
二、工具准备
Linux(Ubuntu):虚拟环境。同一时间段Python版本只能是一种,无法在开发多少项目时进行版本统一,故通过创建多个虚拟环境,对应虚拟环境下保证Python版本一致即可。
Python3(3.6):Python解释器。
Pycharm(2020.2.2):开发工具。
MySQL(5.7):数据库。
创建虚拟环境以及安装django:
1. 查看当前有哪些虚拟环境:workon
2. 创建虚拟环境:mkvirtualenv -p /usr/bin/python3 envname # envname 自定义的项目名称
3. 进入虚拟环境: workon envname
(退出虚拟环境:deactivate;删除虚拟环境:rmvirtualenv envname)
4. 安装django:pip install django
(查看当前python环境下的第三方库:pip list)
三、项目创建
新建项目的命令:diango_admin startproject projectname
注意:由于编辑器版本之间的一些差别,我们统一使用跟编辑器版本无关的通用方式创建项目。
创建项目后,需要进行pytharm代码环境同步配置:
1. 用pytharm打开一个空的项目,可同envname,选择Tools>Devloyment>Configuration;
2. 自定义连接名,选择SFTP连接类型,写上Ubuntu系统的ip,写上ssh服务的端口号,写上用户名,写上用户密码,点击测试连接;
3. 选择Mapping,在Deployment path on server中,点击后面的...,打开linux路径后,选择我们创建好的项目目录,注意这里的路径是和前面connection中root path进行拼接的;
4. 选择Tools>Devloyment>options,选择ctrl+s保存上传的方式;
5. 选择files>srttings>porject Interpreter,点击右边设置按钮,选择Add Remove,选择连接方式为SSH,填写连接信息,在最下面选择我们刚创建号的linux上的虚拟环境;
虚拟环境及文件说明:
开发服务器:
1. 将Settings.py文件中的ALLOWED_HOSTS = [], 改成ALLOWED_HOSTS=['*']
2. linux虚拟机网络连接方式是nat端口转发时,需要设置http服务8000端口的转发
3. 开启服务的命令: python manage.py runserver 0.0.0.0:8000
四、启动服务
开启服务器的方式一:
命令行模式:
在项目目录下执行命令:python manage.py runserver 0.0.0.0:8000
开启服务器的方式二:
1. 选择编辑器右上角的Edit Configuration的按钮,点击添加Django server,改host为Host为0.0.0.0,表示的是允许连接服务器的ip,点击Dnveironment Variables项后面的...,将DHANGO_SETTING_MODULE添加到Name,将项目名.settings添加到Value。
完成以上操作后即可在浏览器中属于http://1127.0.0.1:8000访问网页,出现以下界面即成功。
注意事项:
ip: ifconfig查看ip,注意网络连接方式;virtualbox的端口转发时使用的是127.0.0.1回环地址;
port: 远程连接SSH服务的端口号是 22,HTTP服务 8000/8080, mysql服务的端口号 3306。
windows环境下虚拟环境搭建:
1. 首先在文件夹中建立对应项目文件 E:\Python\Python\WorkSpace\Django\Django32
2. win+R 进入cmd,依次命令e:进入E盘, 命令cd Python\Python\WorkSpace\Django\Django32,进入项目文件夹
3. 命令python -m venv -h 查看venv文件夹信息
4. 命令 python -m venv venv 创建venv项目,在依次命令 cd venv 进入venv文件夹, 命令 dir 查看venv文件夹中包含的文件,
5. 命令cd Scripts 进入Scripts文件中,python解释器就包含在Scripts文件夹中;
6. 命令activate.bat 进入venv虚拟环境,在最前方出现(venv)即表示进行venv虚拟环境;
(若需要退出虚拟环境,也需要进行到venv/Scripts文件夹中,命令deactivate.bat 即退出venv虚拟环境)
7. 命令pip install django==3.2.16 -i https://pypi.douban.com/simple 在Scripts文件夹中安装版本3.2.16的django,进行django环境搭建;
8. 命令cd ../ 返回Django32文件夹,命令 mkdir django32 创建django32项目,命令cd django32 进入django32文件夹,命令 mkdir day01子项目;
9. 命令cd day01 进入day01文件夹,命令django-admin startproject maqushop,创建一个名为maqushop的django项目并开启;
10. 开启pytharm,Open 打开Django32>django32,首先配置项目解释器路径;
点击File,选择Settings>Project:Django32-Python Interpreter>编辑符号Add>Virtualenv Environment>Existing environment>Interpreter 选择项目对应虚拟环境python解释器
11. cmd中命令python manage.py runserver 启用django32项目,即可在浏览器上进行127.0.0.1:8000访问;
cmd中ctrl+c即可退出。
12. cmd中命令python manage.py startapp index 创建index app项目,pytharm环境中即生成app项目index;
13. 在index app中views.py文件中创建页面访问呈现项目,并在maqushop中urls.py文件中添加访问链接;
views.py
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello World!")
urls.py
from django.contrib import admin from django.urls import path from index import views urlpatterns = [ path('admin/', admin.site.urls), path('hello/', views.hello) ]
14. cmd中命令python manage.py runserver 启用django32项目,即可在浏览器上访问 127.0.0.1:8000/hello/;