1.方向:web后端、爬虫、人工智能AI(研究生学历)
职责:给前端提供网页接口、(前端:页面、页面渲染)
2.课程安排:Django 3周 ---- 前两周基础+项目1周
Flask 2周 ---- 第一周基础+1周项目
爬虫 ---- 2周
1.项目组
(1)产品—2个人,提需求(女生为主)
(2)测试-----1-2人,功能测试
(3)前端-----写页面,调用后端提供的数据
(4)后端----2人以上,获取数据,返给前端
(5)UI----设计页面,1人
(6)数据库—大型公司会有单独岗
2.公司分类
(1)业务公司:可适当包装
(2)技术型公司:e.g知道创于、云和恩墨
(3) 销售型公司:程序员较少,技术变动比较少
1.框架
所谓Web框架,就是用于开发Web服务器端应用的基础设施(通常指封装好的模块和一系列的工具)。
2.python主流框架
Django、Flask 、web.py 、tornado 、 twisted 、 sanic、Pyramid、Bottle、Web2py等
1.Django、Flask简介:
用来做网站,包括前后分离或者前后合在一起
学习资料:王老师github;django官网
django 2.0需要python3.7版本支持
2.在基于Python的Web框架中,Django是所有重量级选手中最有代表性的一位,开发者可以基于Django快速的开发可靠的Web应用程序,因为它减少了Web开发中不必要的开销,对常用的设计和开发模式进行了封装,并对MVC架构提供了支持(MTV)。许多成功的网站和App都是基于Django框架构建的,国内比较有代表性的网站包括:知乎、豆瓣网、果壳网、搜狐闪电邮箱、101围棋网、海报时尚网、背书吧、堆糖、手机搜狐网、咕咚、爱福窝、果库等。
1.M(model):模型,数据库存取,进行业务逻辑的判断
模型xxx中定义Tag字段,sort字段
V(view):视图就是页面,表现层,渲染给用户看的页面,根据业务逻辑选择不同的视图
C(controller):控制器,写业务逻辑层,从用户端收集用户的输入,将用户输入的指令和数据传递给业务模型
sql: select * from xxx where Tag = 热门 and sort =
2.核心思想----解耦(面试高频考点)
实现代码重用,将复杂的东西拆开,降低各个模块之间的耦合度
Model:负责业务与数据库(ORM)的对象
view:负责业务逻辑并适当调用module和Template
Template 模板,就是页面:负责把页面渲染展示给用户
1.查看电脑中安装的所有包===pip3 list
C:\Users\Administrator>pip3 list
2.查看pip安装过的包===pip3 freeze
3.python环境变量设置
python 3中会自动配置好path
python2.X版本:需要在系统高级配置中设置Path
设置好了在cmd控制台输入python会正常显示
C:\Users\Administrator>python
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)]
on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
4.windows中安装虚拟环境===pip3 install virtualenv
C:\Users\Administrator>pip3 install virtualenv
Collecting virtualenv
Downloading https://files.pythonhosted.org/packages/b6/30/96a02b2287098b23b875
bc8c2f58071c35d2efe84f747b64d523721dc2b5/virtualenv-16.0.0-py2.py3-none-any.whl
(1.9MB)
11% |███▊ | 225kB 2.4kB/s eta 0:12:00
安装成功后显示
Installing collected packages: virtualenv
Successfully installed virtualenv-16.0.0
有这一步可以将环境和代码分开,环境是环境,代码是代码,尽量不要用pycharm来创建。
5.运行虚拟环境—直接输名字
C:\Users\Administrator>virtualenv
6.创建虚拟环境文件夹env
平时要单独建环境文件夹、代码文件夹能用代码命令完成的尽量用代码操作,用英文路径
【cmd命令回顾】
进入文件夹===cd 文件名
查看当前目录内容====dir
返回上一级目录=== cd …
返回上两级目录===cd …/…/
返回上三级目录===cd …/…/…/
回到根目录 ==== cd/
c盘切换到d盘====d:+回车
shift+右键在此处打来命令===可在指定文件夹中打开命令
清屏==ls
(1)建文件命名为env,创建django环境===virtualenv --no-site-packages
这里文件位置选择 D:\PythonFile\env----->进入文件夹右击打开命令提示,开始安装包
包命名为djangoenv
D:\PythonFile\env>virtualenv --no-site-packages djangoenv
状态:
Using base prefix 'c:\\users\\administrator\\appdata\\local\\programs\\python\\p
ython36-32'
New python executable in D:\PythonFile\env\djangoenv\Scripts\python.exe
Installing setuptools, pip, wheel...done.
(2)安装成功查看文件===dir
D:\PythonFile\env>dir
驱动器 D 中的卷是 软件
卷的序列号是 948F-4A3C
D:\PythonFile\env 的目录
2018/08/06 11:37 .
2018/08/06 11:37 ..
2018/08/06 11:37 djangoenv
0 个文件 0 字节
3 个目录 27,002,458,112 可用字节
(3)进入Scripts文件夹,activate激活虚拟环境
【命令】activate===进入虚拟环境
deactivate===退出虚拟环境
进入文件夹
D:\PythonFile\env>cd djangoenv
进入Script文件
D:\PythonFile\env\djangoenv>cd Scripts
激活,证明此时进入了虚拟环境
D:\PythonFile\env\djangoenv\Scripts>activate
(4)查看列表==pip list
激活虚拟环境会自动弹出(djangoenv) D:\PythonFile\env\djangoenv\Scripts>,输入pip list可查看当下安装列表
查看安装列表
(djangoenv) D:\PythonFile\env\djangoenv\Scripts>pip list
Package Version
---------- -------
pip 18.0
setuptools 40.0.0
wheel 0.31.1
(5)虚拟环境中安装库(django库、pymysql)
cmd控制台进入虚拟环境D:\PythonFile\env\djangoenv\Scripts>activate
输入命令分别安装django和pymysql
pip install Django==1.11
pip install pymysql
1.先在env同级目录下创建代码文件夹wordspace,子文件命名django(代表存储django代码)
注:工作中一定要代码环境有条理分开
2.从虚拟环境切换到wordspace—>django文件夹
返回到虚拟环境的同级目录
djangoenv) D:\PythonFile\env\djangoenv\Scripts>cd ../../../
路径:用cd命令一层层进入到新建的wordspace文件件
(djangoenv) D:\>cd pythonfile
3.创建Django项目====django-admin startproject +文件名
要使用这个命令前提一定要django安装成功了,没有安装django是没有这个命令的
(djangoenv) D:\PythonFile\Third\wordspace\django>django-admin startproject day01
创建完可以通过dir命令查看目录,会看到下面已经创建好了day01文件
(djangoenv) D:\PythonFile\Third\wordspace\django>dir
驱动器 D 中的卷是 软件
卷的序列号是 948F-4A3C
D:\PythonFile\Third\\django 的目录
2018/08/07 20:11 .
2018/08/07 20:11 ..
2018/08/06 16:20 day01
4.pycharm中设置环境,实现项目和环境绑定
(1)pycharm软件中打开建立的新项目day01
File--> open-->找到目标文件夹day01--->ok-->选择open in current window
(2)设置环境
File-->setting-->project interpreter
在选项框中设置成刚才的环境文件件,如果没有就找show all
这样就将项目设定在对应 的虚拟环境上面了
1.pycharm软件中打开建立的新项目day01
File--> open-->找到目标文件夹day01--->ok-->选择open in current window
2.细说day01
创建的day01文件夹里面还包含一个day01文件夹和manage.py,
其中里面的day01文件中包含四个python文件
day01
day01
__ init__.py
__ settings__.py
__ urls__.py
manage.py
manage.py:一个让你用各种方式管理 Django 项目的命令行工具, 是Django用于管理本项目的管理集工具,之后站点运行,数据库自动生成,数据表的修改等都是通过该文件完成。
teminal控制台可查看其中命令
wordspace\django\day01>python manage.py
【部分命令演示】===python manage.py runserver
Django version 1.11, using settings 'day01.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
init.py: 指明该目录结构是一个python包,空文件,暂无内容,在后期会初始化一些工具会使用到。
seetings.py: Django项目的配置文件,其中定义了本项目的引用组件,项目名,数据库,静态资源,调试模式,域名限制等
DEBUG = True #当为True是打开http://127.0.0.1:8000/可以看到网页报错时的内容信息
ALLOWED_HOSTS = []
INSTALLED_APPS =
TEMPLATES = ['BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [], # =======放页面的存放位置
'APP_DIRS': True,=
**urls.py:**项目的URL路由映射,就像你网站的“目录” ,实现客户端请求url由哪个模块进行响应。
wsgi.py:定义WSGI接口信息,通常本文件生成后无需改动
效果:运行网页,让网页返回hello world
执行原理:先接收到url请求,通过工程看到当前的url对应的是什么视图(views)和视图下的方法去处理的,方法
是在视图中的
1.pycharm软件中打开建立的新项目day01
File--> open-->找到目标文件夹day01--->ok-->选择open in current window
2.创建应用==python manage.py startapp (名字自定义取)
在day01下面创建一个app命名为hello
python manage.py startapp hello====》此时会自动创建出一个hello文件夹,里面包含了多个pythn文件
hello中包含的文件
migrations文件夹
_ _init_ _.py
_ _init_ _.py
admin.py
apps.py
models.py
tests.py
views.py
【文件说明】===model和view最重要
migrations文件夹:作用不大,可删可留
admin.py 管理模型,django提供了一个管理后台(通常工作中用的不多),admin文件的操作在后台都能看到
进入后台看效果
(1)先在terminal控制台输入python manage.py runserver
会显示出http://127.0.0.1:8000/地址
(2)网页中打开网址,并在url中输入admin可以查看到Django后台
http://127.0.0.1:8000/admin
apps.py 用处不大
model.py 定义模型的地方
tests.py 是初始案例(后面会讲到)
views.py写业务逻辑的地方
3.url.py中设置关联——将方法和url绑定在一起
就相当于是路由,目的是当我访问url中hello的时候,要找到view中的方法。
注意上面要导入!!
from django.conf.urls import url #导入django信息
from django.contrib import admin
from hello import views #从hello中导入views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'hello/',views.hello) , # 目的是当我访问url中hello的时候,要找到view中的方法
]
定义了路由之后所以在网址输入的时候就应该是 http://127.0.0.1/hello,
打开这个网页后返回的内容就应该是views文件中hello方法中内容
4.在view.py中定义方法(重要!!)
(1)在view中定义了一个hello的方法。这个方法返回的是hello world
(2)参数为request请求,否则报错,请求中设置GET方法,一般网页访问都用GET请求
(3)发出请求返回东西的时候需要加HttpResponse,用之前需要先在上面导入一下包,否则报红线错误,快捷键alt+Enter提示
from django.shortcuts import render # 这句命令是该文件中原有的,自动生成的语句
from django.http import HttpResponse #导入HttpResponse包
def hello(request):
if request.method == 'GET':
return HttpResponse('hello world')
# 在view中定义了一个hello的方法。参数为request,这个方法返回的是hello world
5.在settings.py中设置===加载app
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'hello', #写上hello可以将我们的app加载进来
]
还可以修改语言和时区时间
LANGUAGE_CODE = 'en-us' #改为中文'zh-han'
TIME_ZONE = 'UTC' #改为'Asia/Shanghai'中国时间
USE_I18N = True
USE_L10N = True
USE_TZ = True
6.显示hello world
(1)在terminal控制台输入python manage.py runserver ,找到运行网址
(2)打开网页,url中输入默认地址+hello
http://127.0.0.1:8000/hello
会显示结果
**【补充】**设置runserver自动运行
打开运行控制台defauit
script path =====找到对应的项目中的manage.py文件
Parameters====runserver
改端口
在刚才的runserver后面可以加参数
Parameters====runserver 8080 代表指定8080端口
电脑先要启动Mysql,cmd中输入net start mysql57
1.在应用网址后面输入admin可以进入管理后台,我们只需要创建用户名和密码就可访问
url中输入
http://127.0.0.1:8080/admin
2.设置数据库===seting.py中设置
要想设置用户名和密码就需要数据,这里就要用到数据库,在setting.py文件中DATEBASES设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',=====>后面改为mysql
'NAME':'4day01' , #名字命名为4day01
# 默认一般都是root
'USER':'root',
'PASSWORD':'123456', #设置密码
'HOST':'localhost', # 能访问的数据库地址,本地就写localhost
'PORT':3306, # 端口名
}
}
3.在navicat中创建数据库
右击”新建数据库“设置数据库名、字符集、排序规则
注意:数据库名字命名没有硬性要求但是要和python中数据库设置一致
数据库名 4day01
字符集 utf8--UTF-8 Unicode
排序规则 utf8_general_ci
4.初始化Mysql===工程目录下init文件中
在python3中必须有这一步操作
import pymysql
pymysql.install_as_MySQLdb()
5.创建表==python manage.py migrate
用户名和密码都是在表中,有了数据库我们还要为数据库创建表,这里不在nivicat中直接创建,在python中创建
python manage.py migrate
【注意】数据迁移代码的用法
第一次迁移:
python manage.py migrate
后面再次迁移:
python manage.py makemigrations
执行完毕刷新数据库中4day01中的表会生成Django自带的表(10个表)
auth_group
auth_group_permission
auth_permission
auth_user #用来存储后台登录的用户名和密码
auth_user_groups
auth_user_user_permission
django_admin_log
django_content_type
django_migrations
django_session
6.创建超级用户
(1)在terminal中执行命令
python manage.py createsuperuser
(2)输入用户名、邮箱、密码
(djangoenv) D:\PythonFile\Third\wordspace\django\dayT>python manage.py createsuperuser
Username (leave blank to use 'administrator'): admin #这里用户名命名admin
Email address: [email protected] #邮箱随意
Password: #密码输入无回显这里设置123123
Password (again):
7.登录后台
浏览器中进入http://127.0.0.1:8000/admin/
输入用户名和密码可登录Django后台