Django学习笔记

本文详细介绍了Django框架的使用,包括其好处、开发特点、虚拟环境创建、项目和应用的创建、MVT模式、ORM框架、URL规则、视图函数、模板配置、模型基础、数据操作、静态与动态页面、HTTP请求与响应等内容,适合初学者入门和进阶学习。
摘要由CSDN通过智能技术生成

Django介绍

是用python语言写的开源web开发框架

Django的好处

  1. 简便、快速的开发数据库驱动的网站
  2. 它强调代码复用,多个组件可以很方便的以“插件”的形式服务于整个框架
  3. Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包

Django开发的特点

  1. 重量级框架

    提供项目工程管理自动化脚本工具

  2. MVT模式

    M全拼为Model,负责和数据库交互,进行数据处理。

    V全拼为View,接受请求,进行业务处理,返回应答。

    T全拼为Template,负责封装构造要返回的html。

虚拟环境

  1. 如何创建虚拟环境

mkvirtualenv -p python3 虚拟环境名称

例 mkvirtualenv -p python3 py3_django

​ 2.查看虚拟环境的命令:workon

​ 3.切换虚拟环境:workon 虚拟环境名称

​ 4.退出虚拟环境:deactivate

​ 5.删除虚拟环境:rmvirtualenv

​ 例 rmvirtualenv py3_django (先退出,再删除)

​ (pip list查看有哪些包) (pip install )

创建Django项目

​ django-admin startproject 项目名称

一个项目由很多个应用(模块)组成的,每一个应用完成一个特定的功能。

创建应用的命令如下·:

python manage.py startapp 应用名

注意:创建应用时需要先进入项目目录

python manage.py runserver(运行web项目)

工程目录说明

  • settings.py是整个项目的整体配置文件

  • urls.py是项目的URL配置文件

  • wsgi.py是项目与WSGI兼容的web服务器入口

  • manage.py是项目管理文件,通过它管理项目

    应用模块目录说明

    • models.py:写和数据库项目的内容

    • views.py :接收请求,进行处理,与M和T进行交互,返回应答(定义处理函数,视图函数)

    • tests.py:写测试代码的文件

    • admin.py:网站后台管理

      建立应用和项目之间的联系,需要对应用进行注册:

      修改settings.py中的INSTALLED_APPS配置项,往里面添加应用文件名就行

MVC

M:Model模型,和数据库进行交互

V:View视图,产生HTML页面

C:controller控制器,接收请求,进行处理,与M和V进行交互,返回应答

MVT

M:Model模型,和MVC中M功能相同,和数据库交互

V:View视图,和MVC中C功能相同,接受请求,进行处理,与M和T进行交互,返回应答

T:Template模板,和MVC中V相同,产生HTML页面

ORM框架

Object:对象-类

Mapping:映射

Relations:关系,关系数据库中的表

通过类和对象操作对应的数据表,不需要写SQL语句

在models.py文件里面设置和表对应的类,模型类

ORM一个作用:根据设计的类生成数据库中的表

path规则

使用尖括号(<>)从url中捕获值。包含一个转化器类型(convert type),没有转化器,将匹配任何字符串,当然也包括了 / 字符

1.设置url:path(‘test/’,views.test)

2.在视图中将获取到的参数和参数的类型打印出来:

def test(request,xx):
	print(xx,type(xx)) 例如可以用int类型
	return HttpResponse('hello%s',xx)

一个project有一个总的urls.py,各个app也可以自己建立自己的urls.py用include()函数在project的urls.py文件进行注册

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('bokktest.urls')),#这一步一定要有
]

视图函数中可以通过关键字参数获取到

kwargs为字典类型,可以传递额外的参数到views中,使用include的时候需要统一给下面的URL一些参数的时候,显得尤其重要。

name的作用

给一个匹配的URL地址取名字,一般用于模板,也可以使用reverse进行页面重定向(访问一个页面,跳转到另一个页面)

redirect是重定向,reverse是将URL的name解析成URL本身的函数

def test(request):
    #print(xx,type(xx))
    return redirect(reverse('index'))//重定向

模板路径配置

1.在子应用的外边,创建一个模板的文件,一般我们的文件夹名叫做template

2.在template里创建一个HTML的文件

3.在setting.py里找到templaes中的dirs

     'DIRS': [os.path.join(BASE_DIR,'template')],

render方法的使用

1.进入视图在视图中渲染,render()就是渲染模板文件的

2.render()中的参数

request:请求 template_name:模板名字 context:传递参数

模板变量的使用规则

1.语法:{ {变量名}}

2.命名由字母和数字以及下划线组成,不能有空格和标点符号

3.可以使用字典、模型、方法、函数、列表

4.不要和python或dijango关键字重名

过滤器<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值