Django安装部署
- MVC模式说明
Model
:是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据View
: 是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的Controller(控制器)
:是应用程序中处理用户交互的部分,通过控制器负责从视图读取数据,控制用户输入,并向模型发送数据
>MVC模式优点:降低耦合,最大程度上实现代码重用
- MVT模式
Django采用的就是MTV模式 Model
:扶额在业务对象与数据库的对象(ORM)Template(模板)
:负责如何把页面展示给用户View
:负责业务逻辑,并在适当的时候调用Model和Template
Django还有一个url分发器,将一个个个url页面请求分发给不同的view处理,view再进行调用。
>用户请求url,服务器根据请求的url检索响应的视图函数,视图函数向Model请求数据,数据库将数据返回给Model对象,Model对象将数据返回给视图View,View将要展示的数据发给Template模板,模板生成响相应的页面反馈给用户。
在虚拟环境下搭建Django项目
- 搭建虚拟环境
本次操作使用的是python3.x版本加django 1.11版本
(1). 安装virtualenv
,pip 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__.py
,urls.py
,settings.py
,wsgi.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 Configurations
在Parameters
中输入runserver 8080
,Python interpreter
解释器选虚拟环境解释器步骤1,步骤二后直接执行manage.py
文件。
Django安装部署的更多相关文章
- django 安装/部署过程
一.软件安装 1.升级linux中的python 参考“centos升级python” 2.安装apache(httpd) 3.安装django,先要安装setuptools 参考“安装dj ...
- Ubuntu14.04 Django Mysql安装部署全过程
Ubuntu14.04 Django Mysql安装部署全过程 一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...
- 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目
一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...
- 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- 学习VirtualEnv和Nginx+uwsgi用于django项目部署
以下叙述中用到的操作系统:Linux CentOS 6.X. 最近几天了解一下VirtualEnv,Apache+Daemon mode,Nginx+uwsgi的概念,并且在项目中实验性部署了一下(目 ...
- 在Ubuntu 12.10 上安装部署Openstack
OpenStack系统有几个关键的项目,它们能够独立地安装但是能够在你的云计算中共同工作.这些项目包括:OpenStack Compute,OpenStack Object Storage,OpenS ...
- Django应用部署 - 上线指南
http://blog.csdn.net/pipisorry/article/details/46957613 python manage.py runserver已经很接近于服务器的形式,但是并不能 ...
- redis常用服务安装部署
常用服务安装部署 学了前面的Linux基础,想必童鞋们是不是更感兴趣了?接下来就学习常用服务部署吧! 安装环境: centos7 + vmware + xshell 即将登场的是: mysql(m ...
- 腾讯云快速完成python3.6开发环境搭建与django应用部署
[本文出自天外归云的博客园] 部署python3.6.5 腾讯云服务器安装python3竟然要3个多小时!而且一度速度为0…… 于是网查据说是腾讯云服务器连python官网缓慢导致的,所以想找个国内的 ...
随机推荐
- tomcat日志采集
1. 采集tomcat确实比之前的需求复杂很多,我在搭建了一个tomcat的环境,然后产生如下报错先贴出来: Jan 05, 2017 10:53:35 AM org.apache.catalina. ...
- caffe中的前向传播和反向传播
caffe中的网络结构是一层连着一层的,在相邻的两层中,可以认为前一层的输出就是后一层的输入,可以等效成如下的模型 可以认为输出top中的每个元素都是输出bottom中所有元素的函数.如果两个神经元之 ...
- SQL Server 运行计划操作符具体解释(2)——串联(Concatenation )
本文接上文:SQL Server 运行计划操作符具体解释(1)--断言(Assert) 前言: 依据计划.本文開始讲述另外一个操作符串联(Concatenation).读者能够依据这个词(中英文均可) ...
- linux下select,poll,epoll的使用与重点分析
好久没用I/O复用了,感觉差点儿相同都快忘完了.记得当初刚学I/O复用的时候花了好多时间.可是因为那会不太爱写博客,导致花非常多时间搞明确的东西,依旧非常easy忘记.俗话说眼过千遍不如手过一遍,的确 ...
- 消息推送之百度云推送Android集成与用法
这两天因为项目须要.研究了一下百度云推送,本来这事没什么多大工作量的,但注冊百度开发人员账户创建应用令我蛋疼菊紧了好一阵,这些东西做了对技术没啥提升,不做又不行,必经之路. 好在我耗费了N多个毫毫秒秒 ...
- 在Android系统中修改Android.mk使其同时编译rgb2565和rgb2888(向out/host/linux-x86/bin/下新增加一个工具命令)【转】
本文转载自:http://blog.csdn.net/mu0206mu/article/details/7514559 在Android系统中修改android.mk使其同时编译rgb2565和rgb ...
- Android5.1开机LOGO与开机动画【转】
本文转载自:http://blog.csdn.net/u014770862/article/details/52624627 android5.1中,开机LOGO部分和之前版本的并不相同,主要区别在于 ...
- BZOJ 3509 分块FFT
思路: 跟今年WC的题几乎一样 (但是这道题有重 不能用bitset水过去) 正解:分块FFT http://blog.csdn.net/geotcbrl/article/details/506364 ...
- IE之css3效果兼容
一.兼容css阴影效果(ie滤镜) 1.Shadow,阴影 .shadow { -moz-box-shadow: 3px 3px 4px #000; -webkit-box-shadow: 3px 3 ...
- 实现model中的文件上传FTP(一)
由于在django的model中配置了filefield或者imagefield配置了upload_to参数只能将用户上传的文件上传到项目本地,就算重定向到项目外也只是直接读取文件系统,这样对未来的项 ...