bonds python django_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自增主键断层问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值