Django 简介及应用

本文介绍了Django,一个基于Python的Web应用框架。它遵循MVC设计模式,但在Django中称为MVT。文章详细阐述了Django的M(模型)、V(视图)和T(模板)组件,以及如何创建Django项目,包括配置虚拟环境、数据库、创建应用、定义模型以及添加数据。此外,还提到了Django中的URL分发器(路由)用于处理URL请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Django 简介

Django 是一个开放源代码的Web应用框架,由 Python 写成。Django采用了 MVC 的软件设计模式,即模型Model视图View控制器Controller

什么是MVC

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

mvc编程模式

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

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

Django 的模式 - MVT模式简介


  • M表示的是model,和MVC中的M功能差不多,负责和数据库交互,进行数据处理。
  • V表示的是View, 和MVC中的C的功能差不多,负责业务逻辑并适当调用Model和Template。
  • T表示的是Tempate,和MVC中的V功能差不多,负责封装构造要返回的HTML。

注意:Django中还有一个url分发器,也叫做路由,主要用于将url请求发送给不同的View处理,View在进行相关的业务逻辑处理。

Django 创建第一个项目

配置虚拟环境

先在windows环境下配置虚拟环境

pip install virtualenv    # 安装虚拟环境
virtualenv --no-site-packages -p xxxx env    # 在xxxx路径的env文件夹下创建虚拟环境
cd xxxx/env/Scripts    # 进入env文件夹里的Scripts文件夹
activate    # 进入虚拟环境
pip install django==1.11    # 在虚拟环境安装Django
pip install pymysql    # 安装pymysql

配置数据库

我们在项目的 settings.py 文件中找到DATABASES配置项,将其信息修改为:

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

上面数据包含数据库名称和用户的信息,它们与MySQL中对应数据库和用户的设置相同。Django根据这一设置,与MySQL中相应的数据库和用户连接起来。

创建app

配置好虚拟环境后,创建文件夹,按以上方式进入虚拟环境后进入用于储存项目的文件夹并创建项目

django-admin startproject helloworld    # 创建项目helloworld
python manage.py runserver 8080    # 启动django项目并使项目可以通过8080端口被连接
python manage.py startapp test    # 创建名为test的app

我们修改 test / models.py 文件,代码如下:

# models.py
from django.db import models

class Test(models.Model):
    name = models.CharField(max_length=20)

以上的类名代表了数据库表名,且继承了models.Model,类里面的字段代表数据表中的字段(name),数据类型则由CharField(相当于varchar)、DateField(相当于datetime),max_length参数限定长度。接下来在 settings.py 中找到INSTALLED_APPS这一项,如下:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'test',               # 添加此项

在命令中运行:

$ python manage.py migrate   # 创建表结构

$ python manage.py makemigrations TestModel  # 让 Django 知道我们在我们的模型有一些变更
$ python manage.py migrate TestModel   # 创建表结构

看到几行 “Creating table…” 的字样,你的数据表就创建好了。

注意:尽管我们没有在models给表设置主键,但是Django会自动添加一个id作为主键。

数据库操作

接下来我们在 helloworld 目录中添加 testdb.py 文件,并修改urls.py:

# helloworld/helloworld/urls.py:文件代码
from django.conf.urls import *
from . import view,testdb

urlpatterns = [
    url(r'^hello$', view.hello),
    url(r'^testdb$', testdb.testdb),
]

添加数据

添加数据需要先创建对象,然后再执行 save 函数,相当于SQL中的 insert

# -*- coding: utf-8 -*-

from django.http import HttpResponse

from test.models import Test

# 数据库操作
def testdb(request):
    test1 = Test(name='Jack')
    test1.save()
    return HttpResponse("<p>数据添加成功!</p>")

访问 http://127.0.0.1:8000/testdb 就可以看到数据添加成功的提示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值