初学Django

Django简介

  • Django是一个开放源代码的Web应用框架,由Python写成。Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。
    ###什么是MVC ##
  • mvc全名是Model View Controller,是模型(model)----视图(view)–控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑,数据,界面显示分离的方法组织代码,将业务逻辑聚集到一个部件中,在改进和个性化定制界面及用户交互的同事,不需要重新编写业务逻辑。MVC被独特的发展气力啊用于映射传统的输入,处理和输出功能在一个逻辑的图形化用户界面的结构中。

Django生命周期

前端发送请求-->Django的wsgi-->中间件-->路由系统-->视图-->ORM数据库操作-->模板-->返回数据给用户

Django rest framework生命周期

发送请求-->Django的wsgi-->中间件-->路由系统_执行CBV的as_view(),就是执行内部的dispath方法-->在执行dispath之前,有版本分析 和 渲染器-->在dispath内,对request封装-->版本-->认证-->权限-->限流-->视图-->如果视图用到缓存( request.data or request.query_params )就用到了 解析器-->视图处理数据,用到了序列化(对数据进行序列化或验证) -->视图返回数据可以用到分页

mvc编程模式

  • Model(模型)表示应用程序的核心(比如数据库记录列表)
  • View(视图)显示数据(数据库记录)
  • Controller(控制器)处理输入

Model(模型) 是应用程序用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
View(视图) 是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
Controller(控制器) 是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据

Django MVT

  • M表示的是model ,和MVC中的M功能差不多,负责和数据库交互,进行数据处理。
  • V表示的是View, 和MVC中的C的功能差不多,接收请求,进行业务处理,返回应答。
  • T表示的是Tempate,和MVC中的V功能差不多,负责封装构造要返回的HTML。

django 命令

pip install virtualenv    #安装虚拟环境
virtualenv --no-site-packages 文件名  #创建虚拟环境文件
cd 文件名 Scripts    #进入虚拟环境文件里的Scripts文件下
activate           #进入虚拟环境
deactivate         #退出虚拟环境
pip install django==1.11  #在虚拟环境中安装django
pip install pymysql      #在虚拟环境中安装pymysql
django-damin startproject 项目名 #创建项目
python manage.py runserver 8000     #启动Django项目
python manage.py startapp  appname   # 创建app
#创建好app 在项目的setting.py中设置下INSTALLED_APPS添加app名字('appname',)
python manage.py makemigrations #迁移数据库
python manage.py migrate        #迁移数据库

第一个项目

首先启动Django项目(python manage.py runserver 8000 ),用户输入url,输入的url和Helloword下的urls.py对应,就会找到相应 应用下的view.py的方法。如果需要数据,view就会找到Model进行相应的数据处理,拿到数据给templates喧染出来。

django-admin.py startproject Helloword #创建一个Helloword项目
python manage.py start APP      # 创建了一个用用APP
项目目录结构:

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

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'app/',include('app.urls'))
]



#在App应用下的views.py 设置
from django.shortcuts import render
from django.http import  HttpResponse
from app.models import Stu
# Create your views here.
def hello(request):
    return HttpResponse('hello world')
    
def girs(request):
    return HttpResponse('hello,美女')


#在App应用下的urls.py 设置
from django.conf.urls import url
from app import views
urlpatterns = [
    url(r'hello/',views.hello),
    url(r'gir/',views.girs),


#在App应用下的model.py 设置
from django.db import models

# Create your models here.
class Stu(models.Model):
    name = models.CharField(max_length=20)
    age = models.CharField(max_length=20)
    dec = models.CharField(max_length=20)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值