文章目录
一.Django框架介绍
Django,发音为dʒæŋɡəʊ,诞生于2003年秋天,2005年发布正式版本,由Simon和Andrian开发。
Django框架遵循MVC思想,但是有自己的说法,即MVT。
以用户注册为例,一个典型的MVC过程如下:
其中,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创建
示意如下:
2.运行Django项目
运行Django项目也有2种方式:
- 命令行运行
通过python manage.py runserver 8000(默认)即可运行项目
,如果想要修改端口号,可以在运行的时候可以指定端口号,例如执行python manage.py runserver 9000就可以通过9000
端口访问。 - 通过PyCharm运行
示意如下:
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中实现。
- settings.py:
此时需要创建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进行数据库开发的步骤如下:
- 配置数据库连接信息
- 在models.py中定义模型类
- 迁移
- 通过类和对象完成数据增删改查操作
在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
- 在Django的工程同名子目录的init.py文件中添加如下语句
import pymysql
# 目前mysqlclient目前只支持py3.4所以要指定版本
pymysql.version_info = (1, 4, 13, "final", 0)
pymysql.install_as_MySQLdb()
作用是让Django的ORM能以mysqldb的方式来调用PyMySQL
- 修改DATABASES配置信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '127.0.0.1', # 数据库主机
'PORT': 3306, # 数据库端口
'USER': 'root', # 数据库用户名
'PASSWORD': 'xxx', # 数据库用户密码
'NAME': 'xxx' # 数据库名字
}
}
- 在MySQL中创建数据库
create 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,牛转乾坤!!')
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/66862.html