Python-Django基础
django目录
-settings
-urls
-views
******强调:setting中'django.middleware.csrf.CsrfViewMiddleware'中间件先注释掉
-执行django项目:python3 manage.py runserver 127.0.0.1:8000
django进入命令行模式
terminal中输入
登陆注册
-form action中:
-三种写法:
一:不写
二:http://127.0.0.1/login/
三:/login/(推荐用这种)
新手三件套
render:返回一个模板(页面)
redirect:重定向到某个地址
HttpResponse:返回字符串
****重点:本质上返回的都是HttpResponse对象
MTV,MVC
orm简介
-orm能创建表,创建字段,删除字段,修改字段,但是不能创建数据库
-一个新的项目,不要用原来的数据库
-是什么?对象关系映射
-python代码《---对象--》orm层转换《-----sql---》mysql/oracle。。。
-要创建一个表,有了orm,只需要写一个类就可以了
orm连接mysql步骤:
0 手动创建出数据库:0107
1 在settings中配置:
'default': {
# 这些key必须都是大写
'ENGINE': 'django.db.backends.mysql',
# 数据库名字
'NAME': '0107',
'HOST':'127.0.0.1',
'PORT':3306,
'USER':'root',
# 'PASSWORD':''
}
2 再app的init文件中写:
import pymysql
pymysql.install_as_MySQLdb()
3 在models中创建类,类中写字段
class UserInfo(models.Model):
id=models.AutoField(primary_key=True)
name=models.CharField(max_length=32)
pwd=models.CharField(max_length=32)
4 把表同步到数据库
#数据库表并没有同步到数据库,只是在migrations内做了一个记录
-python3 manage.py makemigrations
#才将数据表同步到数据库
-python3 mangae.py migrate
orm连接sqllite
从第三步开始,往后走
创建出来的表介绍:
1 orm自动将app的名字拼在表前_类名
2 orm会自动创建出好多其他表(不要管,不要删)
基于orm的用户登陆
orm查询:
-查询所有:
类名.objects.all()
-有过滤条件的查询
类名.objects.filter(name='lqz',pwd='123').first()
select * from biao where name=lqz and pwd=1234
TTL:
1 三件套render,redirect,HttpResponse
2 post提交数据,请求地址中也可以携带参数,(/login/?name=lqz&pwd=123)参数从GET中取
3 post请求体的默认格式:name=lqz&pwd=123
4 form不要写成from(记住了)
5 其实从前台传的数据,数据部分全都放到一个列表中,取出列表用:GET/POST.getlist('name'),只要取最后一个值get('name')
6 orm django 的orm,
7 使用orm(链接mysql):
1 手动创建出数据库
2 在settings中配置
3 在init中写:
import pymysql
pymysql.install_as_MyQLdb()
4 取models中写类(类必须继承models.Model)
-在类中写属性:
name=medels.CharField(max_length=64)
5 数据库迁移:
python3 manage.py makemigrations
python3 manage.py migrate
-有个简便方法
6 使用数据表:
在view中使用:
-先导入使用的类
-查询所有:类名.objects.all()
-过滤:类名.objects.filter(过滤条件)
-创建:类名.objects.create(参数)
-删除:类名.objects.filter().delete()
-修改:类名.objects.filter().update(参数)
8 模板语言的for循环
9 模板语言显示变量{{ 变量名 }}
10 mysql自增主键断层问题
Python-Django基础的更多相关文章
- python Django基础操作
Django常用命令 创建Django项目 Django-admin startprotect mysite 创建项目以后,以下生成的文件 最外层的file:mysite/ 根目录只是你的项目的容器 ...
- python django基础(二)
django MTV模式之----template模版 django是动态的网页,后台的数据需要动态的插入到前端中,这时就依赖于django的template模版框架.django支持多种模版框架,下 ...
- python django基础(一)
Django简介:Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C.不过在Django实际使用中,Django更关注的是模型(Mod ...
- python django基础五 ORM多表操作
首先在创建表的时候看下分析一下 1.作者表和作者详细地址表 一对一关系 理论上谁都能当主表 把Author设置成主表 au=models.OneToOneField(to='AuthorDetail ...
- python django基础四 ORM简介
ORM,全称是object relation mapping.翻译过来,就是对象关系映射. 主要来学习MySQL操作,MySQL是一个软件.它的优点:1.免费 2.开源 pymysql,就是Mysql ...
- python django基础三 模版渲染
request对象 当一个页面被请求时,Django就会创建一个包含本次请求原信息的HttpRequest对象.Django会将这个对象自动传递给响应的视图函数,一般视图函数约定俗成地使用 reque ...
- python django基础一web框架的本质
web框架的本质就是一个socket服务端,而浏览器就是一个socker客户端,基于请求做出相应,客户端先请求,服务器做出对应响应 按照http协议的请求发送,服务器按照http协议来相应,这样的通信 ...
- python django基础二URL路由系统
URL配置 基本格式 from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数 ...
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- python的django基础篇
一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...
随机推荐
- docker下载镜像received unexpected Http status:500 Internal Server Error
解决办法 1.就是网上说的 关闭selLinue ,但是对我就没用 2.就是不使用镜像加速 ,但是出现连接超时 3.就是加上具体版本号 结果就成功了 [root@localhost ~]# docke ...
- Python进阶2---树的遍历和堆排序
二叉树的遍历 堆排序Heap Sort 堆排序的过程 完整过程: #打印完整的二叉树 import math #打印完全二叉树,此函数非必要只是为了显示便利! def print_tree(lst): ...
- vue独立构建和运行构建
有两种构建方式,独立构建和运行构建.它们的区别在于前者包含模板编译器而后者不包含. 模板编译器:模板编译器的职责是将模板字符串编译为纯 JavaScript 的渲染函数.如果你想要在组件中使用 tem ...
- SpringCloud学习笔记:熔断器Hystrix(5)
1. Hystrix简介 在分布式系统中,服务与服务之间相互依赖,一种不可避免的情况是某些服务会出现故障,导致依赖于它们的其他服务出现远程调度的线程阻塞. Hystrix提供熔断器功能,能够阻止分布式 ...
- AutoMapper入门使用
AutoMapper入门使用 在应用开发的过程中,首先要了解整个系统中各个系统的组件的作用,然后了解系统的工作流(workflow),最后需要梳理一遍数据流(dataflow),而在整理数据流的过程中 ...
- 洛谷P1188PASTE题解
题目 这个题主要是一个考分类讨论的模拟题,做这个提的时候首先要脑子清醒,才可以清楚地写出怎么模拟来. \(Code\) #include <iostream> #include <a ...
- python学习日记(OOP——@property)
在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9999 这显然不合逻辑.为了限制score的 ...
- 第四十篇-private,public,protected的区别
1.public: public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private: private表示私有,私有的意思就是除了class自己之外,任何人都不可 ...
- Maven 学习总结(三) 之 依赖管理
聚合 为了要一次构建多个项目,而不是到每个模块目录下分别执行mvn命令.maven聚合这一特性就是为该需求服务的.为此我们需要创建一个额外的模块aggregator, 然后通过该模块构建整个项目的所有 ...
- Python 字节流写入文件
用struct模块 三个函数 pack().unpack().calcsize() # 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流) pack(fmt, v1, v2 ...