
django框架学习
文章平均质量分 50
django框架学习2019
LCY133
这个作者很懒,什么都没留下…
展开
-
django项目笔记1 基础文件的配置(项目部署,mysql 日志和静态文件的配置)
世间五彩,我独纯白项目搭建内容前奏创建虚拟环境pip 安装django创建工程:django-admin startproject lgshop配置开发环境默认配置内容在settings内,这个配置是在:manage.py内定义的def main(): # os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'lgshop.settings') os.environ.setdefault('DJANGO_SETTINGS_MOD原创 2022-01-02 14:13:42 · 909 阅读 · 0 评论 -
django项目笔记之2:用户模型类与用户注册
用户模型类简述:django自带用户认证系统,它处理用户账号,组,权限以及基于cookie的用户会话Django认证系统位置○ django.contrib.auth包含认证框架的核心和默认的模型。○ django.contrib.contenttypes是Django内容类型系统,它允许权限与你创建的模型关联。● Django认证系统同时处理认证和授权○ 认证:验证一个用户是否它声称的那个人,可用于账号登录。○ 授权:授权决定一个通过了认证的用户被允许做什么。● Django认证系统包含原创 2022-01-10 18:28:16 · 548 阅读 · 0 评论 -
django框架学习之8:模板过滤器
所谓过滤器就是指对模板中的某些内容进行相关处理和过滤,要有模板过滤器先要有模板,def news(request): context = { 'person':['cheney','jerry'], 'net': '<a href="https://www.baidu.com">百度</a>', 'num': '5', 'now':datetime.now(), #'info':1234原创 2020-12-25 14:34:55 · 142 阅读 · 0 评论 -
django操作mysql相关操作以及相关错误内容
mysql的相关操作:(登录mysql的信息,模型类)0.创建一个数据库1.主工程内:settings.py中定义databases字段,定义mysql登录信息:驱动,数据库名字,用户名,密码,host,端口等2.app内的models.py定义模型类:按照相关的字段进行定义3.安装pymysql:pip install pymysql4.在程序的初始化__init__.py内容中加入导入pymysql的内容:import pymysqlpymysql.install_as_MySQLdb原创 2021-12-11 12:43:57 · 696 阅读 · 0 评论 -
django框架学习操作简述(指令,文件内容,功能)
本文主要记录了django框架几个应用的场景,主要操作均为入门操作,包括django的创建项目启动项目的指令,创建使用APP,视图和URL,数据库ORM,静态文件创建和启动项目pip install pipenvpipenv shellMVT模式:model view template model view templatepip install Django==2.2pip list创建django项目:django-admin startproject class0启动mana原创 2021-12-10 11:44:22 · 991 阅读 · 0 评论 -
django框架学习之4:re_path函数匹配路由
程序结构:urls–蓝图urls—蓝图视图views:有时候我们在写url匹配的时候,想要写使用正则表达式来实现一些复杂的需求,那么这时候我们可以使用re_path来实现。re_path的参数和path参数一模一样,只不过第一个参数也就是route参数可以为一个正则表达式在写程序时需要的是,在urls程序中定义正则表达式,book中的urls内容为:from django.urls import path,re_pathfrom . import viewsfrom django.urls im原创 2020-12-23 11:29:59 · 998 阅读 · 0 评论 -
django框架之13:外键约束
外键和表关系在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam。如果使用的是InnoDB引擎,是支持外键约束的。外键的存在使得ORM框架在处理表关系的时候异常的强大。因此这里我们首先来介绍下外键在Django中的使用时需要设置引擎为innodb。类定义为class ForeignKey(to,on_delete,**options)。第一个参数是引用的是哪个模型,第二个参数是在使用外键引用的模型数据被删除了,这个字段该如何处理,比如有CASCADE、SET_NULL等。这里以一个实原创 2020-12-29 18:31:28 · 851 阅读 · 0 评论 -
django框架之12:django模型的常用属性(常用字段:field,常用参数:field内的参数),meta属性:表格属性
简介:在定义数据库时,基本单位是Column,行,或者说是字段,Field(autofield,charfield等等),可以说是数据的类型,每一个字段里有具体的字段属性(null,db_column,default等等)数据表的属性:数据排序和数据表名称(自定义,默认的表名是app名+类名)具体的操作过程:定义字段,编辑models内的代码控制数据库,进行数据库迁移,从SQLyog查看数据表内容,在views内设置增删改查操作添加数据常用字段AutoField映射到数据库中是int类型,原创 2020-12-29 15:12:58 · 651 阅读 · 0 评论 -
django框架之11:数据库与ORM(增删改查)(ORM是相对于原生SQL语句而言的,这样在大项目中的应用更多更好)
数据库:简介略去了,在项目操作中应用的比较多的是PHPstudy(含有多个版本的数据库)和SQLyog(数据库的图形化工具),准备工作:1.pip install mysqlclientmysqlclient是一个引擎2.开启phpstudy和sqlyogORM简介:ORM,全称Object Relational Mapping,中文叫做对象关系映射,通过ORM我们可以通过类的方式去操作数据库,而不用再写原生的SQL语句。通过把表映射成类,把行作实例,把字段作为属性,ORM在执行对象操作的时候.原创 2020-12-26 13:28:35 · 709 阅读 · 0 评论 -
Django框架之0 项目结构介绍
manage.py:以后和项⽬交互基本上都是基于这个⽂件。⼀般都是在终端输⼊ python manage.py [⼦命令]。可以输⼊python manage.py help看下能做什 么事情。除⾮你知道你⾃⼰在做什么,⼀般情况下不应该编辑这个⽂件。settings.py:本项⽬的设置项,以后所有和项⽬相关的配置都是放在这个⾥⾯。urls.py:这个⽂件是⽤来配置URL路由的。⽐如访问http://127.0.0.1/news/ 是访问新闻列表⻚,这些东⻄就需要在这个⽂件中完成。wsgi.py:项⽬.原创 2021-12-07 16:58:02 · 147 阅读 · 0 评论 -
django框架学习之5:django内置模板DTL 初步使用
背景场景:DTL是Django Template Language三个单词的缩写,也就是Django自带的模板语言。当然也可以配置Django支持Jinja2等其他模板引擎,但是作为Django内置的模板语言,和Django可以达到无缝衔接而不会产生一些不兼容的情况。利用模板的方式,进行开发多数的场景是用于前后端不分离的情况下,不用前端专门写一个模板,由后端人员自行开发一个HTML,通过模板的方式对HTML进行相关的渲染DTL与普通的HTML的区别:DTL模板是一种带有特殊语法的HTML文件,这个.原创 2020-12-23 13:35:31 · 241 阅读 · 0 评论 -
django框架之14:外键删除
学习外键删除要涉及几种外键的保护类型,包含外键的级别:级联删除,保护等等如果一个模型使用了外键。那么在对方那个模型被删掉后,该进行什么样的操作。可以通过on_delete来指定。可以指定的类型如下:1.CASCADE:级联操作。如果外键对应的那条数据被删除了,那么这条数据也会被删除。2.PROTECT:受保护。即只要这条数据引用了外键的那条数据,那么就不能删除外键的那条数据。3.SET_NULL:设置为空。如果外键的那条数据被删除了,那么在本条数据上就将这个字段设置为空。如果设置这个选项,前提是要指原创 2021-01-04 16:03:30 · 690 阅读 · 0 评论 -
Django框架之1.虚拟环境配置与新建项目 添加APP添加视图和路由
创建虚拟环境的方式和flask中的一篇博客的描述相同,请参看该文章:http://blog.youkuaiyun.com/LCY133/article/details/108985485但是,有个独特的:django框架更加全面,更加大,不灵活,不过使用起来不用定义太多的其他功能Django也遵循MVC思想,但是有自己的一个名词,叫做MVTMVT模式:Django从请求到接到响应的生命周期python3.6.5 版本的更稳定安装django:我们在使用中推荐使用django2.2 而默认pi.原创 2020-12-17 08:35:39 · 249 阅读 · 1 评论 -
django学习框架之3:URL路由反转传递参数,指定默认参数
URL反转传递参数:URL反转:reverse:反转路由信息:因为django中的reverse反转url的时候不区分GET请求和POST请求,因此不能在反转的时候添加查询字符串的参数。如果想要添加查询字符串的参数,只能手动的添加。重定向时要可以用于在重定向前,用作将指定的路由进行反转和拼接,拼接时使用的参数通过kwargs传递例子:cms.views中定义index函数,进行相关的反转def index(request): name = request.GET.get('name.原创 2020-12-22 12:28:30 · 511 阅读 · 2 评论 -
django框架学习之6:模板标签的使用
模板标签用于进行条件判断,for循环之类的,常见的标签:if else endiffor in,以下按例子说明:这里的模板标签是要写在HTML文件里的,在views中对HTML传入参数views中传入的参数:from django.shortcuts import render,redirect,reversefrom django.http import HttpResponsefrom django.template.loader import render_to_stringdef原创 2020-12-23 18:04:58 · 135 阅读 · 0 评论 -
django框架之10:加载静态资源
加载静态资源的方式:在一个网页中,不仅仅只有一个html骨架,还需要css样式文件,js执行文件以及一些图片等。因此在DTL中加载静态文件是一个必须要解决的问题。在DTL中,使用static标签来加载静态文件。要使用static标签,首先需要{% load static %}。1.首先确保django.contrib.staticfiles已经添加到settings.INSTALLED_APPS中。settings中的INSTALLED_APPS中进行定义如果在这里添加了多个APP,那么写在前面的优原创 2020-12-25 18:14:45 · 312 阅读 · 0 评论 -
django框架之9:模板结构优化一种是include模板(直接复制)一种是extends,导入和继承可以添加东西
模板的结构优化,也可以说是模板的继承修改,引入模板的操作:有时候一些代码是在许多模版中都用到的。如果我们每次都重复的去拷贝代码那肯定不符合项目的规范。一般我们可以把这些重复性的代码抽取出来,就类似于Python中的函数一样,以后想要使用这些代码的时候,就通过include包含进来。这个标签就是include。传递参数的两种方式:context方式和通过在include的时候进行with引入参数:通过context引入from django.shortcuts import render# C原创 2020-12-25 16:42:13 · 222 阅读 · 0 评论 -
django框架之7:模板操作之URL标签与补充标签
URL标签:在模版中,我们经常要写一些url,比如某个a标签中需要定义href属性。当然如果通过硬编码的方式直接将这个url写死在里面也是可以的。但是这样对于以后项目维护可能不是一件好事。因此建议使用这种反转的方式来实现,类似于django中的reverse一样。在网页中的呈现就是通过链接进行页面跳转通过:跳转,带参数页面的跳转和多个参数页面跳转的方式展开首先:跳转的定义从HTML定义,语句:<a href="/news/">进入新闻主页</a> # 跳转到指定路由&l原创 2020-12-25 12:10:48 · 483 阅读 · 0 评论 -
django框架学习2:url的使用 url模块化
1.新建django项目:django-admin startproject first_project2.新建蓝图:django-admin startapp book项目两种获取URL的方式:蓝图book中的views.pyfrom django.shortcuts import renderfrom django.http import HttpResponse# Create your views here.def book(request,book_id): re原创 2020-12-21 16:57:26 · 371 阅读 · 0 评论 -
django框架之ORM模型操作mysql语句总结
练习内容:ORM语句的练习:查询操作:1.查询平均成绩⼤于60分的同学的id和平均成绩;2.查询所有同学的id、姓名、选课的数量、总成绩;3.查询姓“李”的⽼师的个数;4.查询没学过“李⽼师”课的同学的id、姓名;5.查询学过课程id为1和2的所有同学的id、姓名;6.查询所有课程成绩⼩于60分的同学的id和姓名;7.查询没有学全所有课的同学的id、姓名;8.查询所有学⽣的姓名、平均分,并且按照平均分从⾼到低排序;9.查询各科成绩的最⾼和最低分,以如下形式显示:课程ID,课程名称,最⾼原创 2021-12-14 18:05:32 · 1142 阅读 · 0 评论