day 68 django 之api操作

前情回顾一下,:

django项目

安装:

创建项目

配置(setting,static,csrf)

创建app,python manage.py startapp app1

三部分

urls.py路由配置

1,普通正则

2分组正则

传位置参数:url(r‘^blog/(\d+)/‘,views.blog)

3分组命名(得到的是关键字参数)

url(r‘^blog/(?P<year>(\d+)/‘,views.blog‘))    视图函数要传参blog(request,year)

4用name指定别名

url(r‘^blog/$‘, views.blog, name=‘blog‘) 这里我们使用别名来进行反向解析,为了得到动态的HTML页面跳转效果

html里面:{%url ‘blog‘%}

views函数里面from django.urls import reverse

函数返回值里面return reverse("blog")

5使用命名空间

url(r‘^blog/‘, include(app1.urls,namespace=‘num1‘ 2017 12))  这里也牵涉到反向解析

HTML里面{% url ‘num1:blog‘%}  url后面空一格写单引号,引号里面写namespace然后冒号name

views里面:from django.urls import reverse 返回值return redirect(reverse("num1:blog",arg=(2017,12)))

views.py

request对象

response对象

FBV和CBV

模板语言

{{变量}}

{{变量.}}如果变量是一个字典,我们直接使用这样的方法去取值

{%for%}循环

{%endfor%}结束循环

{%if%}判断

{%endif%}结束判断

过滤器(filter)  {{变量名|filter_name:参数}}

{{时间对象|date:‘Y-m-d‘}}

{%url%}

{%load static%}

{%static ‘img/1.png‘%}

母板,继承,块,组件

连接数据库(orm)

五步四部分

1创建数据库

2在app下的models.py里面创建model类,继承models.Model

3.在setting.py里面配置数据库连接信息

4在项目project的init里面写上import pymysql, pymysql.install_as_mysqldb()  # 这一句使用我们的pycharm会自动补全,有提示信息

5,发命令

python manage.py makemigrations  # 收集变更

python manage.py migrate  # 翻译成sql语句执行

四部分

models.py

django

pymysql

mysql

orm:类   数据表

类的属性

数据列 (表里面的字段)

对象   数据行

对表格进行增删改查:

查:

models.类名,objects.all()  取到所有的数据是一个列表  [取不到值是不会报错的,就显示为空]

models.类名,objects.get()  取到一个对象[特点是取不到值就会报错]

models.类名.objects.exclude(条件)  得到除了这个条件的其他的结果

models.类名.objects.first()

models.类名.objects.last()

增加:

一种方式:

models.类名.objects.create(name=‘peter‘)

一种方式:

obj = models.类名(name=‘peter‘)

obj.save()

删除:

models.类名,objects.filter(age=19).delete()

修改:

models.类名.objects.filter(age=90).update(name=‘greate‘)

单个对象是不能够调用update的

obj=models.类名.objects.get(id=1)

obj.name=‘green‘

obj.save()

今日内容:

单标的增删改查

单表查询的api介绍:

13条常用数据:

返回的是queryset对象

1.all()

2.filter()

3.exclude()

4.values()

5.values_list()

6.order_by()

7.reverse()

8.distinct()

返回数字的:

count()

返回bool值的:

exists()

返回具体的数据对象的:

get()

first()

last()

logging配置参数:

logging={

‘version‘:1,  # 目前为止只有这一个值,当前使用版本

‘disable_existing_loggers‘:false,  # 不禁用已经存在的logger实例

# 定义一些日志的处理方式

‘handlers‘:{

‘console‘:{

‘level‘:‘‘DEBUG‘‘,

‘class‘:‘logging.streamhandler‘,

},

},

‘loggers‘:{

‘django.db.backends‘:{

‘handlers‘:[‘console‘],

‘propagate‘:True,  # 向上传导

‘level‘:‘‘DEBUG‘‘,

},

}

}

原文地址:https://www.cnblogs.com/2012-dream/p/8330924.html

时间: 2024-10-08 21:32:03

day 68 django 之api操作的相关文章

Django的API操作mysql中常用的语句

[背景] 增/删/改/查 如何操作数据库 导入数据库的模型 In [23]: from blog.models import People [增加记录]--三种方法 方法一: 直接使用数据模对象的create函数 In [24]: People.objects.create(name='shuaige') Out[24]: <People: People object> 注意:创建成功返回对象地址 方法二: In [6]: record = People(name='choubaguai') 

Django模型-数据库操作

前言 前边记录的URLconf和Django模板全都是介绍页面展示的东西,也就是表现层的内容.由于Python先天具备简单而强大的数据库查询执行方法,Django 非常适合开发数据库驱动网站. 这篇开始,进入到了Django模型,也就是数据库操作. 自带 Sqlite3 数据库查询方式 为了简单,使用Python自带的Sqlite3数据库进行实例说明. 先看一个传统的数据库操作示例: 1 from django.shortcuts import render 2 import sqlite3 3

Django模板API

基础部分 模板是一个文档或者说一个普通的python字符串由Django模板语言标记而成.一个模板语言可以包括block标签或者是变量. 一个block标签是一个处于模板中的标记,能过完成一些事情. Block的定义看起来有点模糊,这是django开发团队有意为之的.比如一个block标签即可以用来输出内容:也可以被当做一个控制结构(比如if声明或者是for循环)从数据库中抓去数据:或者是通往另一个模板的入口. Block标签由"{%"和"%}"组成. 比如一个模板

使用java api操作Hadoop文件 Robbin

1 package cn.hadoop.fs; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.net.URI; 6 import java.net.URISyntaxException; 7 8 import org.apache.hadoop.conf.Configuration; 9 import org.apache.hadoop.fs.FSDataOutputStream; 10 i

初识Django —Python API接口编程入门

初识Django -Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言,基于Django框架,利用MVC模型,实现后台方面的针对数据库的API开发.先了解一下互联网的WEB架构, 如上图: 互联网的WEB架构大致分为三层,web层.app层和数据库层.Web层:如apache网站服务器:app层主要是应用业务:DB指后台数据库.随着互联网的高速发展,网站访问量的增长.数

使用Django.core.cache操作Memcached导致性能不稳定的分析过程

使用Django.core.cache操作Memcached导致性能不稳定的分析过程 最近测试一项目,用到了Nginx缓存服务,那可真是快啊!2Gb带宽都轻易耗尽. 不过Api接口无法简单使用Nginx缓存,使用Memcached作二级缓存.但发现性能非常之不稳定,最终发现问题出在Memcached上.大压力时Memcached无法连接,即使使用Telnet也连接超时/连接被拒绝. 与开发沟通后发现用的django.core.cache操作Memcached,于是要求使用其它库取代,选中pyth

Java API操作HDFS

HDFS是存储数据的分布式文件系统,对HDFS的操作,就是对文件系统的操作,除了用HDFS的shell命令对文件系统进行操作,我们也可以利用Java API对文件系统进行操作,比如文件的创建.删除.修改权限等等,还有文件夹的创建.删除.重命名等等. 使用Java API对文件系统进行操作主要涉及以下几个类: 1.Configuration类:该类的对象封装了客户端或者服务端的配置. 2.FileSystem类:该类的对象是一个文件系统对象,可以利用该对象的一些方法来对文件进行操作,FileSys

HBase API 操作范例

package com.test.hbase.api; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.util.Bytes; import java.io.IOException; import java.util.ArrayList; imp

HBase 6、用Phoenix Java api操作HBase

开发环境准备:eclipse3.5.jdk1.7.window8.hadoop2.2.0.hbase0.98.0.2.phoenix4.3.0 1.从集群拷贝以下文件:core-site.xml.hbase-site.xml.hdfs-site.xml文件放到工程src下 2.把phoenix的phoenix-4.3.0-client.jar和phoenix-core-4.3.0.jar添加到工程classpath 3.配置集群中各节点的hosts文件,把客户端的hostname:IP添加进去