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基础的更多相关文章

  1. python Django基础操作

    Django常用命令 创建Django项目 Django-admin startprotect  mysite 创建项目以后,以下生成的文件 最外层的file:mysite/ 根目录只是你的项目的容器 ...

  2. python django基础(二)

    django MTV模式之----template模版 django是动态的网页,后台的数据需要动态的插入到前端中,这时就依赖于django的template模版框架.django支持多种模版框架,下 ...

  3. python django基础(一)

    Django简介:Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C.不过在Django实际使用中,Django更关注的是模型(Mod ...

  4. python django基础五 ORM多表操作

    首先在创建表的时候看下分析一下 1.作者表和作者详细地址表  一对一关系 理论上谁都能当主表 把Author设置成主表 au=models.OneToOneField(to='AuthorDetail ...

  5. python django基础四 ORM简介

    ORM,全称是object relation mapping.翻译过来,就是对象关系映射. 主要来学习MySQL操作,MySQL是一个软件.它的优点:1.免费 2.开源 pymysql,就是Mysql ...

  6. python django基础三 模版渲染

    request对象 当一个页面被请求时,Django就会创建一个包含本次请求原信息的HttpRequest对象.Django会将这个对象自动传递给响应的视图函数,一般视图函数约定俗成地使用 reque ...

  7. python django基础一web框架的本质

    web框架的本质就是一个socket服务端,而浏览器就是一个socker客户端,基于请求做出相应,客户端先请求,服务器做出对应响应 按照http协议的请求发送,服务器按照http协议来相应,这样的通信 ...

  8. python django基础二URL路由系统

    URL配置 基本格式 from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数 ...

  9. Python之路-(js正则表达式、前端页面的模板套用、Django基础)

    js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  10. python的django基础篇

    一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...

随机推荐

  1. openstack网络基础:网络叠加模式VLAN、VxLAN、GRE

    什么是叠加网络1.一个数据包(或帧)封装在另一个数据包内;被封装的包转发到隧道端点后再被拆装.2.叠加网络就是使用这种所谓“包内之包”的技术安全地将一个网络隐藏在另一个 网络中,然后将网络区段进行迁移 ...

  2. Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题

    前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置   1.Tomcat的下载 地址:https://tomcat.apach ...

  3. Shiro限制登录尝试次数

    /** * 认证信息.(身份验证) : Authentication 是用来验证用户身份 * * @param token * @return * @throws AuthenticationExce ...

  4. 洛谷 p1090 合并果子

    https://www.luogu.org/problemnew/show/P1090 优先队列的经典题目 体现了stl的优越性 #include<bits/stdc++.h> using ...

  5. poj3436(拆点最大流)

    题意:给你p和n,p代表每台计算器需要几个部分组成,n代表有几个组装机器,接下来n行,每行第一个数代表这台机器能够每小时组装几台,剩下前三个数字表示使用这台机器需要的前置条件(0代表当前组装不能有这个 ...

  6. 【XSY2887】【GDOI2018】小学生图论题 分治FFT 多项式exp

    题目描述 在一个 \(n\) 个点的有向图中,编号从 \(1\) 到 \(n\),任意两个点之间都有且仅有一条有向边.现在已知一些单向的简单路径(路径上任意两点各不相同),例如 \(2\to 4\to ...

  7. 10.1 ES6 的新增特性以及简单语法

    ES6 的新增特性以及简单语法  let 和 const 模板字符串 箭头函数 对象单体模式 es6面向对象 模块化  let 和 const 之前一直用 var 来声明变量,ES6 新增 let 和 ...

  8. 【BZOJ5506】[GXOI/GZOI2019]旅行者(最短路)

    [BZOJ5506][GXOI/GZOI2019]旅行者(最短路) 题面 BZOJ 洛谷 题解 正着做一遍\(dij\)求出最短路径以及从谁转移过来的,反过来做一遍,如果两个点不由同一个点转移过来就更 ...

  9. 05VueCli

    详情请见: https://pizzali.github.io/2018/10/30/VueCli/ Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,Vue CLI 致力于将 Vue ...

  10. [NOI2009]变换序列(二分图匹配)

    我们先不考虑字典序最小,先来求出一种可行解. 不难发现,对于每一个i值,它所对应的T值在模n意义下最多两个,于是我们可以用二分图匹配来判断. 那字典序最小呢? 回顾一下二分图匹配的算法:网络流?貌似不 ...