Django框架理解及应用

Django是一个开放源代码的Web应用框架,由Python写成。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

Django想要理解,首先要明白的就是Django的大致组成,它大致由四部分组成,也就是提到的MTV模型:

Model(模型):负责业务对象与数据库的对象(orm) // models.py

Template(模板):负责把数据展示给用户(前端的东西) // html

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

URL分发器:通过前台请求的url,来分配调到相应的函数操作,类似于网络中的路由表,控制网络的下一级的地址。 //urls.py

Django请求的生命周期如下
在这里插入图片描述
1、浏览器输入url发送访问请求,首先到达django的URL控制器(urls.py)。

2、URL控制器通过URL地址分配跳转到相应的View视图(views.py)中的对应函数。

3、View视图如果需要访问数据库操作数据,需要实例化Model模型中的类(models.py),然后通过对类的操作就是对数据库的操作。

4、

   a)如果未创建数据库,Model模型里面是以面向对象的形式将每张数据表以类的方式创建出来,然后通过makemigrations就可以同步到数据库来进行表的创建和表关系的建立。

   b)如果已创建数据库,并且已经同步数据库,那么实例化类的对象,就可以操作数据库了。

5、返回数据库请求的数据。

6、上一步请求的数据实在View视图实例化类的地方接收数据。

7、在View模型中,通过对数据的操作或者其他的相应操作、计算等,将数据参数传递到Template模板。

8、将View模板中的数据接收,通过将其嵌入到前端页面的代码中,实现漂亮的可视化展示。

如下为Django文件路径
1、wale 主文件名 2、manage.py 3、app文件(index、note、user)
在这里插入图片描述
1.先创建项目 django-admin startproject 项目名称

 django-admin startproject mysite1 (wale)
  1. 再起项目
cd mysite1 (wale)
python3 manage.py runserver

3.应用在Django项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型
app创建过程:
用manage.py 中的子命令 startapp 创建应用文件夹 python3 manage.py startapp 应用名称(必须是标识符命令规则)

python3 manage.py startapp index

在wale主项目文件夹中的settings.py中添加注册app

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'user',
    'index',
    'note'
]

4.主路由中include(‘app命字.url模块名’)进行分布路由的分配

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

在app文件夹中创建urls.py文件
用于分发将当前路由转到各个应用的路由配置文件的 urlpatterns 进行分布式处理

from django.conf.urls import url
from .import views
urlpatterns=[
    #127.0.0.1:8000/index/
    url(r'^$',views.index_view)
]

5 Django下配置使用 mysql 数据库
在wale主项目文件夹中的settings.py中更改配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'wale',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'127.0.0.1',
        'PORT':'3306'
    }
}

修改项目中__init__.py 加入如下内容来提供pymysql引擎的支持

import pymysql
pymysql.install_as_MySQLdb()

6 ORM 框架
即对象关系映射,它是一种程序技术,它允许你使用类和对象对数据库进行操作,从而避免通过SQL语句操作数据库
三大映射: 类——表 对象——行 类属性 ——表字段
在这里插入图片描述
在app中添加模型类
在model.py中进行类创建

# file : Node/models.py
from django.db import models

# Create your models here.
from user.models import User

class Note(models.Model):
    title = models.CharField('标题', max_length=100)
    content = models.TextField('内容')
    created_time = models.DateTimeField('创建时间', auto_now_add=True)
    updated_time = models.DateTimeField('更新时间', auto_now=True)
    user = models.ForeignKey(User)

进行数据库迁移

  • 迁移是Django同步您对模型所做更改(添加字段,删除模型等) 到您的数据库模式的方式
  1. 生成或更新迁移文件
    -将每个应用下的models.py文件生成一个中间文件,并保存在migrations文件夹中
python3 manage.py makemigrations   生成同步文件

2.执行迁移脚本程序

-执行迁移程序实现迁移。将每个应用下的migrations目录中的中间文件同步回数据库

python3 manage.py migrate   同步同步文件

7 根据分布路由urls 对应 views.py

from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
def index_view(request):
    if request.method =='GET':
        return render(request,'index/index.html')
    elif request.method =='POST':
        pass
    return HttpResponse('index is ok ')

8 根据views.py 中请求的HTML页面 在app文件夹中创建templates文件夹 ,在此文件夹中创建与app同名的文件夹,在此文件夹中创建HTML页面
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Django是一个基于Python语言的开源Web应用程序框架,它提供了丰富的工具和库,帮助开发者快速构建高性能、安全和可扩展的网站和应用程序。 使用Django框架能够极大地提高开发效率。它采用了MTV(模型、模板、视图)的设计模式,使得代码逻辑清晰且易于维护。开发者可以通过定义模型类来描述数据结构,Django会自动生成与数据库交互的SQL语句,大大简化了数据库操作。此外,Django还提供了丰富的模板系统,可以方便地实现页面的渲染和展示,减少了重复工作的时间。 对于初学者来说,学习Django框架的视频教程是一个很好的选择。视频教程可以直观地展示框架的使用方法,并提供实际操作示例,帮助开发者更好地理解和掌握框架的各个方面。视频教程通常会介绍框架的基本概念、项目的创建与配置、模型的定义与操作、视图的编写以及模板的使用等内容。通过观看视频教程,开发者可以逐步学习和实践,从而快速上手使用Django来开发网站和应用程序。 此外,视频教程也可以提供一些实战项目的案例,让学习者通过模仿和实践来掌握框架的使用。通过完成实际项目,学习者可以更好地理解框架的设计思路和开发逻辑,加深对Django框架理解应用。 总之,Django框架视频教程是一种高效且直观的学习方式,有助于初学者快速入门,掌握框架的核心概念和使用技巧,并能够独立开发具备一定规模和复杂性的网站和应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值