基于图书查询的FBV增删改查

Django操作数据库增删改查

​1、打开pycharm中的Database,建立一个数据库,file行选中我们工程中的db.sqlte3, ok,此时只生成一个表。

2、数据库迁移:控制台输入 python manage.py magrate

​ 此时会生成八个表。

3、生成一个templates文件夹,此下面放html文件。

4、在settings.py中配置文件:

​ temolates =[{

​ 'DIRS':[

​ # BASE_DIR 当前工程路径 templatrs就是模板路径 ,作用是拼接此路径

​ os.path.join(BASE_DIR, 'templates')

]}]

5、在templates创建html文件,用来测试

6、

urls.py>
	urlspatten=[
	      # ‘hello_’是127.0.0.1后缀 
	      path('hello_',views.hello)
            ]

7、创建数据库

models.py>
	# 创建一个数据库,继承模型类
	class Book(models.Model):
        b_name = models.CharField(max_length=16)
        b_ptice = models.FloatField(default=1)
        '''
        类中套类
        class Meta:
        	# 定义表名
        	db_table = "表名"
        	# 排序方法,按属性排名,属性前面加一个负号(-)是倒序
        	ordering = ["属性",]
        '''

8、创建完以后去setting.py中注册,添加文件名:

​ INSTALLEN_APPS = { 'App',}

9、生成迁移文件,控制台输入:python manage.py makemigrations

10、执行迁移文件:python manage.py migrate

11、查看数据库,可以看到生成一个App_book数据库。

开始干正事...

建立urls连接:

urls.py>

	urls={

	path('hello',views.hello)

}


获取数据库:

views.py>
def hello(request):
	books = Book.objects.all()		# 获取数据库表数据
    data = { "books": books  }		# 数据传递
    # render 渲染页面 
    # request 固定写法 “html”渲染模板 context渲染时传递的参数
    return render(request,"hello.html",context=data)

在templates中建立hello.html文件

hello.html>
    <ul>
        {% for book in books %} 	# 遍历books中的所有元素
        <li>{{ book.b_name }}</li>	# 获取元素参数,并输出在页面上
        {% endfor %}				# 结束循环
    </ul>

查整个数据库的所有b_name字段属性,并以列表形式输出在html上:

​ 网页>
​ 127.0.0.1:8080/add_book

增删改:

​ 删:

urls>
	path('delete_book',views.delete_book)
views.py>
	def delete_book(request):
        # 获取id为1的数据
        book = Book.objects.get(pk=1)
        # 删除数据
        book.delete()
        return Httpresponse("删除成功")
网页>
127.0.0.1:8080/delete_book

增:

urls>
	path('add_book',views.add_book)
views.py>
	def add_book(request):
        # 获取整个数据库结构
        book = Book()
        # 添加字段属性
        book.b_name = "水浒传"
        book.b_prite = 99
        # 保存
        book.save()
        return Httpresponse("添加成功")
网页>
127.0.0.1:8080/add_book

改:

urls>
	path('modifybook',views.modify_book)
views.py>
	def modify_book(request):
        # 获取id为1的数据
        book = Book.objects.get(pk=1)
        # 修改该属性
        book.b_name = "西游记"
        book.save()
        return Httpresponse("修改成功")
网页>
127.0.0.1:8080/modifybook
Model.objects参数:

​ all--获取所有属性

​ filter--获取满足条件的数据

​ exclude--将满足的条件删除

​ order_by--排序

​ first--返回查询集合中的第一个对象

​ last--返回最后一个对象

​ count--返回查询对象个数

​ exists--判断路径是否存在

posted @ 2020-10-15 18:32  Morpheus1024  阅读(116)  评论(0编辑  收藏  举报