Python进阶(三十六)Web框架Django项目搭建全过程_python django搭建web项目

103 阅读6分钟

Vue

  • 什么是MVVM?

  • mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?

  • 组件之间的传值?

  • Vue 双向绑定原理

  • 描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?

  • 虚拟 DOM 实现原理

  • Vue 中 key 值的作用?

  • Vue 的生命周期

  • Vue 组件间通信有哪些方式?

  • vue 中怎么重置 data?

  • 组件中写 name 选项有什么作用?

  • Vue 的 nextTick 的原理是什么?

  • Vuex 有哪几种属性?

    开源分享:docs.qq.com/doc/DSmRnRG…

一、IDE说明

  • Win7系统
  • Python:3.5
  • Django:1.10
  • Pymysql:0.7.10
  • Mysql:5.5

注:可通过pip freeze查看已安装库版本信息。
Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站!

二、Django 特点

  • 强大的数据库功能;

  • 用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句。

  • 自带的强大的后台功能;

  • 几行简单的代码就让你的网站拥有一个强大的后台,轻松管理你的内容! 优雅的网址

  • 用正则匹配网址,传递到对应函数,随意定义,如你所想!

  • 模板系统–强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。

  • 缓存系统–与memcached或其它的缓存系统联用,更出色的表现,更快的加载速度。

  • 国际化–完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言。

有关Python,Mysql的安装操作这里不再进行阐述,大家可在网络上自行查找解决。其中,django,pymysql的安装使用pip install *命令即可完成。

安装好Django之后, 就可以使用 django-admin.py管理工具来创建一个项目。首先我们来看下django-admin.py的命令介绍,在命令行输入django-admin.py查看可用的项目管理命令。

这里写图片描述
Django项目创建HelloWorld项目具体过程如下:

Step1: 在搭建Django项目之前,首先选择项目存放目录。然后在Dos窗口CD切换到项目存放目录。
Step2: 创建项目 执行django-admin.py startproject HelloWorld

打开IDEA,可看到创建的项目目录如下图所示:

这里写图片描述
目录说明:

  • HelloWorld: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • HelloWorld/settings.py: 该 Django 项目的设置/配置。
  • HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

接下来我们进入 HelloWorld 目录输入以下命令,启动服务器:

python manage.py runserver 0.0.0.0:8000

0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。

在浏览器输入你服务器的ip及端口号,如果正常启动,输出结果如下:

这里写图片描述

Step3: 创建应用 在命令行输入django-admin.py startapp demo

打开IDEA,可看到创建的项目目录如下图所示:

这里写图片描述

目录说明:

  • demo: 应用的容器。注:后面的页面设计文件,在此目录下创建目录templates,名为XX.html的文件放在此处。
  • init.py:如上一个__init__.py文件
  • migrations: 数据库相关目录,同步数据库之后会出现数据类。
  • admin.py: admin后台管理文件
  • apps.py: app应用管理文件
  • models.py:主要用一个 Python 类来描述数据表,称为模型(model) 。运用这个类,你可以通过简单的 Python的代码来创建、检索、更新、删除 数据库中的记录而无需写一条又一条的SQL语句。
  • tests.py:测试文件
  • views.py:包含了页面的业务逻辑。

三、创建超级管理员

python manage.py createsuperuser
 
# 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填
 
# 修改 用户密码可以用:
python manage.py changepassword username

四、服务端响应客户端请求过程

流程图如下:

这里写图片描述

上面的流程图可以大致描述Django处理request的流程,按照流程图2的标注,可以分为以下几个步骤:

  • 1.用户通过浏览器请求一个页面。
  • 2.请求到达Request Middlewares,中间件对request做一些预处理或者直接response请求。
  • 3.URLConf通过urls.py文件和请求的URL找到相应的View。
  • 4.View Middlewares被访问,它同样可以对request做一些处理或者直接返回response。
  • 5.调用View中的函数。
  • 6.View中的方法可以选择性的通过Models访问底层的数据。
  • 7.所有的Model-to-DB的交互都是通过manager完成的。
  • 8.如果需要,Views可以使用一个特殊的Context。
  • 9.Context被传给Template用来生成页面。
  • a.Template使用Filters和Tags去渲染输出
  • b.输出被返回到View
  • c.HTTPResponse被发送到Response Middlewares

Vue

  • 什么是MVVM?

  • mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?

  • 组件之间的传值?

  • Vue 双向绑定原理

  • 描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?

  • 虚拟 DOM 实现原理

  • Vue 中 key 值的作用?

  • Vue 的生命周期

  • Vue 组件间通信有哪些方式?

  • vue 中怎么重置 data?

  • 组件中写 name 选项有什么作用?

  • Vue 的 nextTick 的原理是什么?

  • Vuex 有哪几种属性?

    开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】