• MVC模式说明
  • Model:是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据
  • View: 是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的
  • Controller(控制器):是应用程序中处理用户交互的部分,通过控制器负责从视图读取数据,控制用户输入,并向模型发送数据
![MVC](https://gss3.bdstatic.com/-Po3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike80%2C5%2C5%2C80%2C26/sign=7948cf4dbf096b63951456026d5aec21/b03533fa828ba61edbddc04d4034970a304e59a4.jpg)
>MVC模式优点:降低耦合,最大程度上实现代码重用


  • MVT模式

    Django采用的就是MTV模式
  • Model:扶额在业务对象与数据库的对象(ORM)
  • Template(模板):负责如何把页面展示给用户
  • View:负责业务逻辑,并在适当的时候调用Model和Template

    Django还有一个url分发器,将一个个个url页面请求分发给不同的view处理,view再进行调用。
![MVT](http://image.bubuko.com/info/201807/20180706221020056160.png)
>用户请求url,服务器根据请求的url检索响应的视图函数,视图函数向Model请求数据,数据库将数据返回给Model对象,Model对象将数据返回给视图View,View将要展示的数据发给Template模板,模板生成响相应的页面反馈给用户。

在虚拟环境下搭建Django项目


  • 搭建虚拟环境

    本次操作使用的是python3.x版本加django 1.11版本

    (1). 安装virtualenvpip install virtualenv

    (2). 在合适的位置用virtualenv创建纯净的虚拟环境,virtualenv --no-site-packages -p D:\python36\python.exe env

    (3). 进入env目录下的Scripts文件夹键入active,安装django,pip install django==1.11,安装pymsql, pip install pymsql

    (4). 创建工程目录,cd回到上一步的操作的根目录创建工程文件夹,cd进入工程文件夹创建django工程文件目录,django-admin startproject project

  • pycharm打开工程配置流程

    (1). 在pycharm中打开上面创建的工程。

    (2). 手动添加解释器,解释器路径为上述虚拟环境中的Scripts中的python.exe,点击pycharm下的Terminal窗口,如果路径前有(env)路径,则环境搭建成功。

    (3). 展开工程文件,可以看到有manage.py__init__.pyurls.pysettings.pywsgi.py等文件,修改其中一些文件的配置。

manage.py --一个命令行工具,可以使我们用多种方式对Django项目进行交互

__init__.py --一个空文件,告诉python这个目录应该被看作一个python包

settings --项目的配置文件

urls.py --项目的URl声明,进行url检索到相应的视图函数

wsgi.py --项目与WSGI兼容Web服务器入口

(4). 修改配置文件,在__init__.py文件中添加以下代码用于与MySql数据库的连接。

import pymysql
pymsql.install as MySQLdb()

(5). 修改settings.py文件中的数据库配置,修改如下:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dj6', # 数据库名
'USER': 'root', # 用户名
'PASSWORD': '数据库密码',
'HOST': 'localhost', # 主机名
'PORT': 3306 # 端口号
}
} LANGUAGE_CODE = 'zh-hans' # 修改为中文
TIME_ZONE = 'Asia/Shanghai # 修改时区

(6). 创建应用:一个项目中可以创建多个应用,每个应用进行一种业务处理,Terminal或终端键入命令,python manage.py startapp myapp,会生成一个myapp文件,里面包含了一些文件。

(7). 激活应用:激活应用:在settings.py 文件中将myapp应用加入到INSTALLED——APPS选项中

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]

(8). 定义模型:有一个数据表就对应一个模型,在models.py中定义模型。

(9). 映射到数据库,生成数据表:生成迁移文件,执行迁移生成迁移文件:python manage.py makemigrations,执行迁移文件: python manage.py migrate ,完成数据库的生成(映射)迁移文件在migrations目录下。

(10). 在urls.py中创建url页,先从应用中导入视图,url的作用是:为用户请求的url进行定向视图。

(11). 在应用中的views.py创建相应的视图函数

(12). 为django创建超级用户,python manage.py createsuperuser,用于登录django的管理后台。

(13). 启动Django,在Terminal中键入命令python manage.py runserver ip:port启动服务器,ip和port端口可以不写,默认ip为本机ip:127.0.0.1,端口为8000,或者配置pycharm的Run/Debug ConfigurationsParameters 中输入runserver 8080 Python interpreter解释器选虚拟环境解释器步骤1步骤二后直接执行manage.py文件。

posted @
2018-10-22 17:36 
RideoCos 
阅读(...) 
评论(...) 
编辑 
收藏

Django安装部署的更多相关文章

  1. django 安装/部署过程

    一.软件安装 1.升级linux中的python   参考“centos升级python” 2.安装apache(httpd) 3.安装django,先要安装setuptools    参考“安装dj ...

  2. Ubuntu14.04 Django Mysql安装部署全过程

    Ubuntu14.04 Django Mysql安装部署全过程   一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...

  3. 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目

    一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...

  4. 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  5. 学习VirtualEnv和Nginx+uwsgi用于django项目部署

    以下叙述中用到的操作系统:Linux CentOS 6.X. 最近几天了解一下VirtualEnv,Apache+Daemon mode,Nginx+uwsgi的概念,并且在项目中实验性部署了一下(目 ...

  6. 在Ubuntu 12.10 上安装部署Openstack

    OpenStack系统有几个关键的项目,它们能够独立地安装但是能够在你的云计算中共同工作.这些项目包括:OpenStack Compute,OpenStack Object Storage,OpenS ...

  7. Django应用部署 - 上线指南

    http://blog.csdn.net/pipisorry/article/details/46957613 python manage.py runserver已经很接近于服务器的形式,但是并不能 ...

  8. redis常用服务安装部署

    常用服务安装部署   学了前面的Linux基础,想必童鞋们是不是更感兴趣了?接下来就学习常用服务部署吧! 安装环境: centos7 + vmware + xshell 即将登场的是: mysql(m ...

  9. 腾讯云快速完成python3.6开发环境搭建与django应用部署

    [本文出自天外归云的博客园] 部署python3.6.5 腾讯云服务器安装python3竟然要3个多小时!而且一度速度为0…… 于是网查据说是腾讯云服务器连python官网缓慢导致的,所以想找个国内的 ...

随机推荐

  1. android中常见的内存泄漏和解决的方法

    android中的内存溢出预计大多数人在写代码的时候都出现过,事实上突然认为工作一年和工作三年的差别是什么呢.事实上干的工作或许都一样,产品汪看到的结果也都一样,那差别就是速度和质量了. 写在前面的一 ...

  2. 使用Html5和Js进行拖动

    function init() {             var source = document.getElementById("dragme");             ...

  3. dlopen failed: empty/missing DT_HASH in "libx.so" (built with --hash-style=gnu?)

    崩溃日志内容: java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH in "libxxxx.so&quo ...

  4. ZOJ 1649 Rescue(有敌人迷宫BFS)

    题意 求迷宫中从a的位置到r的位置须要的最少时间  经过'.'方格须要1s  经过'x'方格须要两秒  '#'表示墙 因为有1s和2s两种情况  须要在基础迷宫bfs上加些推断 令到达每一个点的时间初 ...

  5. sikuli类、函数使用参考java doc

    sikuli类.函数使用可以参考java  dochttp://doc.sikuli.org/javadoc/ http://stackoverflow.com/questions/9568612/s ...

  6. 【cl】子查询应用场景

    有推荐人/没有推荐人的 recommender_id is null / is not null 谁是推荐人=他的id是别人的recommender_id=某个人的recommender_id是他的i ...

  7. iOS 隐藏NavigationBar的方法

    使用下面方法: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationCon ...

  8. 一步一步跟我学习lucene(18)---lucene索引时join和查询时join使用演示样例

    了解sql的朋友都知道,我们在查询的时候能够採用join查询,即对有一定关联关系的对象进行联合查询来对多维的数据进行整理.这个联合查询的方式挺方便的.跟我们现实生活中的托人找关系类似,我们想要完毕一件 ...

  9. eclipse中打字中文突然变成繁体

    eclipse中打字中文突然变成繁体 在用eclipse做android项目的时候,发现打出来的字全部是繁体,而且QQ等其他位置又是简体. 原因:eclipse的快捷点ctrl+alt+f(forma ...

  10. Hdu-6253 2017CCPC-Final K.Knightmare 规律

    题面 题意:给你一个无限大的棋盘,一个象棋中的马,问你这个马,飞n步后,可能的位置有多少种? 题解:看到题,就想先打表试试,于是先写个暴力(枚举每个位置,是马就飞周围8个格子,注意不要在同个循环里把格 ...