@

Django官网下载


MVC框架与MTV框架

MVC,全名Model View Controller,是软件工程中的一种软件架构模式.

把软件系统分为三个基本部分:模型(Model)、视图(View)、控制器(Controller).


优点:耦合性低、重用行高、生命周期成本低等.



Django框架的设计模式借鉴了MVC架构的思想,也是分成三部分,来降低各个部分之间的耦合性.

Django框架的不同之处在于它拆分的三部分为:Model(模型)、Template(模版)、View(视图),也就是MTV框架.


Django的MTV模式

  • Model(模型):负责业务对象与数据库的对象(ORM).
  • Template(模版):负责如何把页面展示给用户.
  • View(视图):负责业务逻辑,并在适当的时候调用Model和Template.

此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template.


Django框架图示




安装及配置

在命令行执行如下命令:

pip3 install django==1.11.11

创建一个Django项目

执行如下命令创建一个名为"mysite"的Django项目:

django-admin startproject mysite


目录介绍


运行Django项目

命令行执行:

python manage.py runserver 127.0.0.1:8080


启动Django报错

UnicodeEncodeError...

出现这种错误通常是因为计算机名为中文,将其改为中文并重启电脑便可以了.

SyntaxError: Generator expression must be parenthesized

保这个错误很大可能是因为使用了Python3.7.0.

目前(2018-06-12)Python3.7.0和Django还有点兼容性问题,换回Python3.6环境即可.


模版文件配置

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')] # template文件夹位置
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

静态文件配置

STATIC_URL = '/static/'  # HTML中使用的静态文件夹前缀
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'), # 静态文件存放位置
]

关系如图:

刚开始学习时可在配置文件中注释掉csrf中间件,方便表单提交测试:

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware', # csrf中间件
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]


APP的创建

一个Django项目可以分为很多个APP,用来隔离不同功能模块的代码.

方式一:命令行创建:

python manage.py startapp app名称

注意当前所在路径,必须在项目的根目录下.

方式二:使用PyCharm创建:



点击:Tools --> Run manage.py Task...

然后在下方弹出的命令窗口中输入:startapp app名称

创建完毕了以后,还需要在settings.py文件中添加对应的APP.

如下:

# 本项目中的所有APP
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog.apps.BlogConfig', # 添加自己新建的app(可简写为'blog')
]

创建超级用户

注意:必须在迁移数据后,才可成功创建超级用户.

python manage.py createsuperuser

输入以上命令后,根据提示输入用户名、邮箱、密码、确认密码。密码的要求至少是不八位,不能和邮箱太接近,两次密码需要一致。



Djange基础必备三件套

from django.shortcuts import HttpResponse, render, redirect


HttpResponse

返回一个指定的字符串

内部传入一个字符串参数,它会帮我们做该做的工作(如:返回响应状态行),然后将传入的字符串返回给浏览器.

如下:

def index(request):
# 业务逻辑代码
return HttpResponse('OK')

render

返回一个HTML文件

除了要接收request参数外,还接收一个待渲染的模版文件和一个保存具体数据的字典参数.

将数据填充进模版文件,最后把结果返回给浏览器.

如下:

def index(request):
# 业务逻辑代码
return render(request, 'index.html', {'name': 'zyk', 'sex': 'boy'})

redirect

跳转到指定的网页

即重定向,接收一个URL参数,表示跳转到指定的URL..

如下:

def index(request):
# 业务逻辑代码
return redirect('/home/')

重定向是什么?





【Django】安装及配置的更多相关文章

  1. Ubuntu 16.04 Django安装和配置

    之前有安装和配置过,换了台电脑,再安装和配置,忽然发现差不多都忘记了,这里记录下已备之后查阅. sudo apt-get install python-pip sudo apt-get install ...

  2. centos 安装教程 服务器配置教程 服务器中安装python 服务器中安装Django 安装MySQL 配置MySQL

    一 .解决python编译安装所需的软件依赖 yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel opens ...

  3. Django安装和配置环境变量

    一.windows系统安装Django 1.先安装python2.x or 3.x软件.(记得勾选pip3和添加python自己的环境变量) 下载地址:http://www.python.org/ 2 ...

  4. django安装以及配置

    一.django的安装和启动 1.安装 pip3 install django==1.11.22 目前来讲1.11.22版本比较稳定 2.django的创建 命令行:cmd先去到django创建目录, ...

  5. django 安装与配置-01

    安装命令 sudo pip install django python 可以引入django说明已经安装成功 查看django的版本 查看django管理命令 django-admin django创 ...

  6. windows环境下Django安装配置

    --python下载 https://www.python.org/downloads/ --pip 下载 https://pypi.python.org/pypi/pip --pip 安装及路径 解 ...

  7. Django学习(一) Django安装配置

    上一节介绍了如何搭建Python的开发环境,这次介绍一下如何搭建Django的开发环境. 第一.下载Django Django跟Python的版本对应 Django version Python ve ...

  8. django安装配置及测试

    django安装之前我们假设你已经安装了python,和mysql(不是必须的):(如果没有google一下挺简单不介绍了)下面直接介绍django的安装配置:到下面连接可以下载www.djangop ...

  9. Nginx+Python+uwsgi+Django的web开发环境安装及配置

    Nginx+Python+uwsgi+Django的web开发环境安装及配置 nginx安装 nginx的安装这里就略过了... python安装 通常系统已经自带了,这里也略过 uwsgi安装 官网 ...

  10. Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置

    近期做那个python的开发,今天就来简单的写一下开发路线的安装及配置, 开发路线 Python3.6.1+Pycharm5.0.6+Django1.11+MySQL5.7.18 1-安装Python ...

随机推荐

  1. PHP使用数组实现队列(实际就是先进先出怎样实现)

    PHP的数组处理函数还能够将数组实现队列,堆栈是"先进后出". 在堆栈中,最后压入的数据(进栈),将会被最先弹出(出栈).而队列是先进先出.就如同银行的排号机 PHP中将数组当做一 ...

  2. Linux下安装Mysql(RPM安装)

    一.去官网下载本次安装须要的mysql版本号.我们须要安装的是5.1版本号的且centos系统是64位的.所下面载的是MySQL-community-5.1.73-1.rhel5.x86_64.rpm ...

  3. ASP.NET Application and Page Life Cycle

    ASP.NET Application Life Cycle Overview for IIS 7.0 https://msdn.microsoft.com/en-us/library/bb47025 ...

  4. iOS开发-sqlite3使用

    SQLite3使用 SQLite简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中. SQLite3 在XCode工程中,打开targets,在B ...

  5. zzulioj--1825-- 会长爱数学(模拟)

    1825: 会长爱数学 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 6  Solved: 2 SubmitStatusWeb Board Descr ...

  6. js运算符单竖杠“|”与“||”的用法和作用介绍

    在js开发应用中我们通常会碰到“|”与“||”了,那么在运算中“|”与“||”是什么意思呢?   在js整数操作的时候,相当于去除小数点,parseInt.在正数的时候相当于Math.floor(), ...

  7. SQL 循环30日

    循环30日的统计 大概格式是 with Date as ( select cast(DATEADD(mm, DATEDIFF(mm,,getdate()), ) as datetime) Date u ...

  8. JQ加载进度条动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. settings.xml配置的镜像

    <localRepository>D:/apache-maven-3.5.4/maven-jar/repository</localRepository> <mirror ...

  10. linux下搭建NFS服务器

    服务端:10.6.191.183 客户端:10.6.191.182 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984 ...