2. Django框架介绍

2. Django框架介绍

1. Django安装注意事项

# 如何让你的计算机能够正常的启动django项目
1.加算计的名称不能有中文
2.一个pycharm窗口只开一个项目
3.项目里所有的文件也尽量不要出现中文
4.python解释器尽量使用3.4~3.6之间的版本
(如果你的项目报错 点击最后一个报错信息 去源码中把逗号删除)

# django版本问题
1.X 2.X 3.X(直接忽略)
1.X和2.X本身差距也不大 
公司之前用的1.8 过渡到了1.11版本 有一些项目用的2.0

#django安装
pips install django==1.11.11
如果已经安装了其他版本 无需自己卸载
直接重新装 会自动卸载安装新的

验证是否安装成功的方式1
	终端输入django-admin看看有没有反应

2. django基本操作

# 命令行操作
  # 1.创建django项目
    """
    你可以先切换到对应的D盘 然后在创建
    """
    django-admin startproject 项目名
   # 2. 启动django项目
	"""
	一定要先切换到项目目录下
	cd /
	"""
    python manage.py runserver
    # http://127.0.0.1:8000/
    
   # 3.创建应用
python manage.py startapp app01
应用名应该做到见名知意

# pycharm操作
  # 1 new project 选择左侧第二个django即可
    
  # 2 启动
	1.还是用命令启动
    2.点击绿色小箭头即可
  # 3 创建应用
	1.pycharm提供的终端直接输入完整命令
    2.pycharm tools run manage.py task提示

pycharm中改django端口
在这里插入图片描述

01:

在这里插入图片描述

3. 主要文件介绍

--mysite项目文件夹
	--mysite文件夹
    	--settings.py  配置文件
        --urls.py	路由与视图函数对应关系(路由层)
        --wsgi.py   wsgiref模块
    --manage.py     django的入口文件
    --db.sqlite3	django自带的sqlite3数据库(小型数据库 功能不是很多还有bug)
    --app01文件夹
    	--admin.py	django后台管理
        --apps.py	注册使用
        --migrations文件夹	数据库迁移记录
        --models.py		数据库相关的 模型类
        --tests.py		测试文件
        --views.py      视图函数

4. 应用

"""
django是一款专门用来开发app的web框架

"""

******************创建的引用一定要去配置文件中注册
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',  # 全写
    'app02'  # 简写
]
# 创建出来的应用第一步先去配置文件中注册
ps:你在用pycharm创建项目的时候 pycharm可以帮你创建一个app并且自动注册

5. 命令行与pycharm创建的区别

# 1 命令行创建不会自动有templates文件夹 需要你自己手动创建,pycharm会自动帮你创建并且还会自动在配置文件中配置对应的路径
# pycharm创建

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
    },
]


# 命令行创建
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        
    },
]

"""
也就意味着你在用命令创建需要自己添加地址
"""

6. 基于Django实现的一个简单示例

(1)url.py

from django.contrib import admin
from django.urls import path,re_path # 导入re_path
#导入views模块
from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls), # 该行代码是新建项目时django框架自动生成的,暂且忽略,暂时注释掉也可以,随着一步步深入介绍,都会讲到它的专门用法

    # 新增地址http://127.0.0.1:8001/index/与index函数的映射关系
    re_path(r'^index/$',views.index), # r'^index/$'会匹配url地址的路径部分
]

(2)视图

from django.shortcuts import render

# 必须定义一个request形参,request相当于我们自定义框架时的environ参数
def index(request):
    import datetime
    now=datetime.datetime.now()
    ctime=now.strftime("%Y-%m-%d %X")

    return render(request,"index.html",{"ctime":ctime}) # render会读取templates目录下的index.html文件的内容并且用字典中的ctime的值替换模版中的{{ ctime }}

(3)模版

在templates目录下新建文件index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h4>当前时间:{{ ctime }}</h4>

</body>
</html>

测试:

python manage.py runserver 8001 # 在浏览器输入:http://127.0.0.1:8001/index/ 会看到当前时间。

7. MVC模式和MTV模式

MVC,全名是Model View Controller,是Web开发领域中的一种著名的软件架构模式,所谓MVC就是把Web应用分为模型(M),控制器©和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起

# M:Model模型负责业务对象与数据库的映射(ORM),用于数据库打交道
# V:view视图负责与用户的交互(html页面)
# C:Controller控制器接受用户的输入调用模型和视图完成用户的请求

MVC的软件架构模式具有有耦合性低、重用性高、生命周期成本低等优点,主要用于web框架,常用的开发语言,有java,php,node.js等等。 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,不同之处在于它拆分的三部分为:Model(模型)、Template(模板)和View(视图),也就是MTV模式,

# Model(模型):负责业务对象与数据库的对象(ORM)

# Template(模版):负责如何把页面展示给用户

# View(视图):负责业务逻辑,并在适当的时候调用Model和Template

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

8. django请求生命周期流程图

综上,我们使用Django框架就是为了开发application,而application的工作过程本质就是根据不同的请求返回不同的数据,Django框架将这个工作过程细分为如下四层去实现

1、路由层(根据不同的地址执行不同的视图函数,详见urls.py)

2、视图层(定义处理业务逻辑的视图函数,详见views.py)

3、模型层 (跟数据库打交道的,详解models.py)

4、模板层(待返回给浏览器的html文件,详见templates)

见下图:
在这里插入图片描述

9. django小白必会三板斧

"""
HttpResponse
	返回字符串类型的数据
render
	返回html文件的

redirect
	重定向
"""
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值