python Django框架初体验 (1)

文章目录

  • 一.Django框架介绍
  • 二.Django项目创建、运行
    • 1创建Django项目
    • 2.运行Django项目
    • 3.Django项目结构
  • 三.数据库的介绍、ORM配置
    • 1.相关的数据库有什么?
      • 使用原生sql执行
      • ORM介绍、配置
  • 四、Django初体验
    • 1.Django创建视图函数

一.Django框架介绍

Django,发音为dʒæŋɡəʊ,诞生于2003年秋天,2005年发布正式版本,由Simon和Andrian开发。

Django框架遵循MVC思想,但是有自己的说法,即MVT。

以用户注册为例,一个典型的MVC过程如下:
python Django框架初体验 (1)_第1张图片
其中,M即Model模型,用于与数据库进行交互;
V即View视图,用于产生HTML页面;
C即Controller控制器,用于接收请求并进行处理。

在Django中,MVT与MVC有一定的区别,意义为:
M即Model模型,用于与数据库进行交互;
V即View视图,用于接收请求并进行处理;
C变为T,即Template模板,处理HTML视图。

Django中文文档https://docs.djangoproject.com/zh-hans/2.2/


二.Django项目创建、运行

1创建Django项目

  • 命令行创建
    在命令行中执行命令django-admin startproject [项目名称],例如执行django-admin startproject mysite即可创建项目mysite。
  • pycharm创建
    示意如下:

python Django框架初体验 (1)_第2张图片


2.运行Django项目

运行Django项目也有2种方式:

  • 命令行运行
    通过python manage.py runserver 8000(默认)即可运行项目,如果想要修改端口号,可以在运行的时候可以指定端口号,例如执行python manage.py runserver 9000就可以通过9000端口访问。
  • 通过PyCharm运行
    示意如下:

python Django框架初体验 (1)_第3张图片


3.Django项目结构

项目主目录中:

  • manage.py:
    用于和项目交互,一般都是在命令行输入python manage.py [子命令]执行相关指令,可以执行python manage.py help查看帮助。
  • 项目同名子目录
    • settings.py:
      项目的设置文件,所有和项目相关的配置都在settings.py中。一般为了放置一些组件和资源,通常会在配置文件末尾写上STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), )然后在创建一个static文件到主目录中。
    • urls.py:
      用来配置URL路由。一般建立视图函数不是在urls.py中,而是在app中实现。

此时需要创建app,通过命令python manage.py startapp app名称即可创建app,如执行python manage.py startapp app01即创建名为app01的app,创建目录的包含文件如下:

  • admin.py
    用于后台管理。
  • apps.py
    该app的相关配置,用于在创建项目之后,为了建立应用和项目之间的联系,还需要对应用进行注册,即修改settings.py中的INSTALLED_APPS配置项(一般默认自动创建).
  • tests.py
    写测试代码。
  • views.py
    视图文件,接收请求、处理数据,与视图和模板进行交互。



三.数据库的介绍、ORM配置


1.相关的数据库有什么?

  • pymysql
  • SQLAlchemy
  • ORM(Django框架和Flack框架独有)

使用原生sql执行

使用Django来操作MySQL时,底层还是通过Python来操作的,因此要想用Django来操作MySQL,pymysql和SQLAlchemy是在可以在python中使用原生的sql语句进行交互 (增删改查一般用于较为复杂ORM也实现不了的操作) 的。

ORM介绍、配置

O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思。在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据。ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程。

django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作。

使用django进行数据库开发的步骤如下:

  1. 配置数据库连接信息
  2. 在models.py中定义模型类
  3. 迁移
  4. 通过类和对象完成数据增删改查操作

在settings.py中保存了数据库的连接配置信息,Django默认初始配置使用sqlite数据库。

DATABASES = {
     
    'default': {
     
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

如果想使用mysql连接需要配置如下:
6. 使用MySQL数据库首先需要安装驱动程序

pip install pymysql
  1. 在Django的工程同名子目录的init.py文件中添加如下语句
import pymysql
# 目前mysqlclient目前只支持py3.4所以要指定版本
pymysql.version_info = (1, 4, 13, "final", 0)

pymysql.install_as_MySQLdb()

作用是让Django的ORM能以mysqldb的方式来调用PyMySQL

  1. 修改DATABASES配置信息
DATABASES = {
     
    'default': {
     
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '127.0.0.1',  # 数据库主机
        'PORT': 3306,  # 数据库端口
        'USER': 'root',  # 数据库用户名
        'PASSWORD': 'xxx',  # 数据库用户密码
        'NAME': 'xxx'  # 数据库名字
    }
}
  1. 在MySQL中创建数据库
drop database if exists `xxx`;


四、Django初体验

1.Django创建视图函数

在Django中定义视图函数时,要注意两点:
(1)参数中必须要传request参数;
(2)返回值要包裹在HttpResponseBase或其子类中。

在urls.py中定义视图如下:

from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/',views.index),
]

在创建的app01文件夹下的views.py中定义视图如下:

from django.shortcuts import render,HttpResponse

# Create your views here.


def index(request):

    return HttpResponse('元旦快乐,祝2021,牛转乾坤!!')

访问http://127.0.0.1:8000/index/显示:
python Django框架初体验 (1)_第4张图片

你可能感兴趣的:(django,django)