关于django的一些回顾(主要是对数据库的操作)

1.diango请求的生命周期
url->路由系统-->视图函数(获取模版+数据) 渲染 -->字符串返回给用户
2.路由系统
/index/ ---> 函数或者类 .as_view()
/detail/(\d+) ---> 函数的参数或者类的参数
/detail/(?P<nid>\d+) ---> 函数的参数或者类的参数---- 指定参数
/detail/ ----> include("app01.urls") 路由分发。
3.视图函数
FBV:函数
def index(request,*args,**kwargs)
..
CBV:类
class Home(view.View)
def get(self,request,*args,**kwargs)
...

获取用户请求的数据:
request.POST.get() (post请求)
request.GET.get() (get请求)
request.FILES.get() (传输文件用)
......getlist()
request.path_info()

文件对象 = request.FILES.get()
文件对象.name
文件对象.size
文件对象.chunks()

给用户返回数据:
render(request,主要是本地html模版文件的路径[如果有渲染的话 后面给上返回的数据。])
redirect(request,主要是返回url)
HttpResponse(字符串)

4.模版语言
:render(request,主要是本地html模版文件的路径[如果有渲染的话 后面给上返回的数据。])

<html>
<body>
<h1>{{obj}}</h1>
<h1>{{k1.3}}</h1>
<h1>{{k2.name}}</h1>
{%for i in k2%}
{{i}}
{% enfor %}
{%for i in k2.keys %}
{{i}}
{% enfor %}
{%for i in k2.values %}
{{i}}
{% enfor %}
{%for k,v in k2.items %}
{{k}} - {{v}}
{% enfor %}
</body>
</html>

4.ORM
a.创建类和字段
class User(models.Model):
id = models.IntergerFiled()
name = models.CharFienld(max_length = 12) #字符长度

python manage.py makemigrations
python manage.py migrate
#settings.py 注册app

b.操作


models.User.objects.create(name = "xxxx",age = ‘xxxx‘)
dic = {‘name‘:‘xxx‘,‘age‘:‘19‘}
models.User.objecs.create(**dic)

obj = models.User(name = "xxxx",age = ‘xxxx‘)
obj.save()


models.User.objecs.filter(xxx).delete()

models.User.objecs.filter(id__gt =1 ).update(name = ‘jxhs‘) #把数据库中id大于1的中id大于1的 name值改成 jxhs
dic = {‘name‘:‘xxx‘,‘age‘:‘19‘}
models.User.objecs.filter(id__gt = 1).update(**dic) #用字典格式上传

models.User.objecs.filter(id = 1) #等于
models.User.objecs.filter(id_gt = 1) #大于
models.User.objecs.filter(id_lt = 1) #小于
models.User.objecs.filter(id_gte = 1) #大于等于
models.User.objecs.filter(id_lte = 1) #等于小于

联合查询
models.User.objecs.filter(id = 1, name =‘root‘)
dic = {‘name‘:‘xxx‘,‘age‘:‘19‘}
models.User.objecs.filter(**dic)

字典的联合查询的模糊查询

dic = {‘name‘:‘xxxx‘ age_gt:‘19‘} #名字为xxxx 并且年龄大于19的
models.User.objecs.filter(**dic)

时间: 2024-07-31 10:41:49

关于django的一些回顾(主要是对数据库的操作)的相关文章

python---基础知识回顾(八)数据库基础操作(sqlite和mysql)

一:sqlite操作 SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成. Python就内置了SQLite3,所以,在Python中使用SQLite,不需要安装任何东西,直接使用. 操作步骤: 1.创建连接(记得导入模块) import sqlite3 conn = sqlite3.connect("test.db") #若是文件不存在会自动创建,路径可

Django之模型层第二篇:多表操作

Django之模型层第二篇:多表操作 一 表关系回顾 ? 在讲解MySQL时,我们提到,把应用程序的所有数据都放在一张表里是极不合理的. ? 比如我们开发一个员工管理系统,在数据库里只创建一张员工信息表,该表有四个字段:工号.姓名.部门名.部门职能描述,此时若公司有1万名员工,但只有3个部门,因为每一名员工后都需要跟着部门信息(部门名.部门职能),所以将会导致部门信息出现大量重复.浪费空间. ? 解决方法就是将数据存放于不同的表中,然后基于foreign key建立表之间的关联关系. ? 细说的

2.3、django项目对数据库的操作

在讲django项目对数据库操作之前先看看MyOSS/MyOSS的几个文件吧. /MyOSS …__init__py #在python里,不管是class,还是django里的project和app都一个这个的文件,表示初始化该类或者模块 …settings.py #Django项目主要的配置文件,比如数据库引擎,数据库配置,语言,字符编码,支持的调试模式,时区,已经加载的模块,静态文件目录,根目录的URL配置等等.. …models.py #Django项目数据库映射文件. …urls.py

Python+Django+SAE系列教程12-----配置MySQL数据库

因为SAE上支持的是Mysql,首先我们要在本地配置一个Mysql的环境 ,我在网上找到MySQL-python-1.2.4b4.win32-py2.7.exe,并双击 安装 选择典型安装 安装结束后,会弹出配置数据库的界面 : 然后输数据管理员密码: 最后是运行服务. 这个过程并不复杂,安装完成Mysql以后,系统会启动数据库服务,由于Mysql是用命令行控制的,想我这样懒的 人还是需要借助一个可视化 工具来管理,我选择MySQL-Front. 在网上找到MySQL_Front_Setup.1

django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面

1.为test.DB数据库预先创建下面数据 1    张三    16    2015-01-02    12    李四    17    2015-01-04    13    王五    14    2015-04-24    0 2.配置C:\djangoweb\helloworld\blog\urls.py文件 # -*- coding: UTF-8 -*- from django.conf.urls import patterns, include, url urlpatterns

django之创建第8个项目-数据库配置及同步研究

1.sqlitestudio-2.1.5数据库可视化工具--百度云盘下载 2.编写C:\djangoweb\helloworld\blog\models.py文件 # Create your models here. #coding:utf-8 from django.db import models class Student(models.Model): name=models.CharField(max_length=50) age=models.IntegerField() 3.配置C:

django 中连接mysql数据库的操作步骤

django中连接mysql数据库的操作步骤: 1 settings配置文件中 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'orm02', # 库的名字 'USER':'root', # 数据库的用户名 'PASSWORD':'666', # 数据库的密码 'HOST':'127.0.0.1', 'PORT':3306, } } 2 项目文件夹下的init文件中写上下面内容,用pymysql替

Django 数据库ORM操作

CMDB实现数据展示功能部分代码. views.py def asset(request):     asset = Asset.objects.all()     return render_to_response("asset.html",{'asset': asset})      models.py class Asset(models.Model):     ipaddr = models.CharField(max_length=20, verbose_name=u'IP地

django入门篇(开始配置,创建 , ORM 操作)

一,创建django项目: 1,pycharm直接创建 2,执行: 终端命令:django-admin startproject sitename 其他常用命令:   python manage.py runserver 0.0.0.0 python manage.py startapp appname python manage.py syncdb python manage.py makemigrations python manage.py migrate 二,起始配置文件: 1.数据库