1.什么是django
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
django 的特点
完全免费并开源源代码
快速高效开发
使用MTV模式(以MVC模式为原型)
强大的可扩展性.
社区丰富
第三方框架丰富
django 的架构
MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:
M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。
C——接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带。在django对应view。
V——负责把数据格式化后呈现给用户。
Django也是一个MVC框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式:
M 代表模型(Model),即数据存取层。 该层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
T 代表模板(Template),即表现层。 该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。
V 代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。
django的设计
对象关系映射 (ORM,object-relational mapping):以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。
URL 分派:使用正则表达式匹配URL,你可以设计任意的URL,没有框架的特定限定。像你喜欢的一样灵活。
模版系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。
表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。
Cache系统:可以挂在内存缓冲或其它的框架实现超级缓冲 -- 实现你所需要的粒度。
会话(session),用户登录与权限检查,快速开发用户会话功能。
国际化:内置国际化系统,方便开发出多种语言的网站。
自动化的管理界面:不需要你花大量的工作来创建人员管理和更新内容。Django自带一个ADMIN site,类似于内容管理系统
工作机制
2.快速开始
创建一个项目
这里你需要确定你安装了python2 的虚拟环境 以及pip是最新版的 否则你需要先安装虚拟环境以及更新pip
pyvip@Vip:~$ workon envpy2
(envpy2) pyvip@Vip:~$ django-admin startproject helloworld
开始一个工程
manage.py 文件
它是django工程中的总控制器
它是整个工程的入口程序
如果我们不记得命令的话,可以使用帮助命令
(envpy2) pyvip@Vip:~/helloworld$ python manage.py help
开始一个工程
(envpy2) pyvip@Vip:~$ cd helloworld
(envpy2) pyvip@Vip:~/helloworld$ python manage.py runserver 0.0.0.0:8000
使用runserver命令,开始一个工程
0.0.0.0 或者 0 , 代表任何IP都允许访问
8000: 代表我们对外的端口,默认端口为80
当我们看下面的截图,就代表整个工程已经启动成功
我们可以通过你的服务器IP+端口去访问
3.用pycharm开始Django helloworld
1.打开pycharm -->close project
2.点击Configure-->settings
3.点击齿轮-->点击Add Remote
4.填写相关设置后 再点开python interpreter path右边的...
5.选择虚拟机中虚拟环境中的python2的路径
注:我的虚拟机中虚拟环境中的python2的路径为/home/pyvip/.virtualenvs/envpy2/bin/python
如果是按我以前的教程安装的ubuntu的话路径也是这个 否则路径不是这个
6.点击ok 保存完成之后 再重启pycharm
7.Create New Project --> 点击左方的Django -->选择项目保存路径在Django_Test下(这个随意)
-->选择Existing interpreter-->点击Interpreter选择刚刚创建的python2解释器
-->Remote project location 设置工程映射到ubuntu虚拟机中的路径(这里我设置的是用户文件夹下的Django_Test)-->Create
这样我们的工程就算建好了
然后打开Django_Test下面的settings.py 将ALLOWED_HOSTS所在行修改成
ALLOWED_HOSTS = ["*"] # 表示允许所有ip访问
然后我们点开run里面的Edit Configurations 将Host改成0.0.0.0
我们还可以在创建完工程之后再更改工程的一些设置
点击Tools -->Deployment -->configuration
点击Tools --> Deployment -->options 更改
点击run运行
这时候我们就可以在浏览器访问我们的工程了
在浏览器地址栏输入 iP:8000
接着我们开始给我们的工程添加一些内容
我们先要停止刚刚开启的服务 点击run下面的stop
然后点击Tool下的Run manage.py Task (下方会出现一个可供输入命令的shell)
然后在这个shell里面输入下面这条命令 会自动生成许多相关的文件
startapp helloworld
修改url.py文件
from django.conf.urls import url
from django.contrib import admin
from helloworld import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/$', views.Hello.as_view())
]
修改view.py文件
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
from django.views import View
from django.http import HttpResponse
# Create your views here.
class Hello(View):
def get(self, request):
mess = "hello world"
return HttpResponse(mess)
上传后 run运行