Django 笔记

来源:互联网 发布:加百列和路西法知乎 编辑:程序博客网 时间:2024/05/17 01:39

参考自菜鸟教程

首先介绍MVC

这里写图片描述
这里写图片描述

Django管理工具

django-admin.py 命令

创建新项目 HelloWorld

django-admin.py startproject HelloWorld

这里写图片描述

接下来可以进入HelloWorld目录输入命令启动服务器

./manage.py runserver 0.0.0.0:8000

0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。(这里我把manage.py的打开方式换为了python3)

修改urls.py 文件

绑定 URL 与视图函数

这里写图片描述

这里^hello$ 匹配到url则跳转到 view.hello 视图

这里写图片描述

这里直接返回了HTML,不符合MVC的思想。

创建模板文件夹

修改settings.py 中模板DIRS的默认位置
这里写图片描述

修改setting.py中的数据库配置
这里写图片描述

Django模板标签

变量使用双括号 {{var_name}}

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

创建app

Django规定,如果要使用模型,必须要创建一个app。
使用命令./manage.py startapp TestModel创建名为TestModel的app模型。
开始遇到了问题:
这里写图片描述

运行 pip3 install mysqlclient 解决

这里写图片描述

表名组成结构为:应用名_类名

尽管我们没有在models给表设置主键,但是Django会自动添加一个id作为主键。

Django操作数据库

# -*- coding: utf-8 -*-from django.http import HttpResponsefrom TestModel.models import Test# 数据库操作def testdb(request):    #test1 = Test(name='ooc')    #test1.save()    #向test表中添加ooc字符串    #return HttpResponse("<p>数据添加成功!</p>")    response = ""    response1 = ""    # 通过objects这个模型管理器的all()获得所有数据行,相当于SQL中的SELECT * FROM    list = Test.objects.all()    # filter相当于SQL中的WHERE,可设置条件过滤结果    response2 = Test.objects.filter(id=1)     # 获取单个对象    response3 = Test.objects.get(id=1)     # 限制返回的数据 相当于 SQL 中的 OFFSET 0 LIMIT 2;    Test.objects.order_by('name')[0:2]    #数据排序    Test.objects.order_by("id")    # 上面的方法可以连锁使用    Test.objects.filter(name="ooc").order_by("id")    # (更新操作)修改其中一个id=1的name字段,再save,相当于SQL中的UPDATE    test1 = Test.objects.get(id=1)    test1.name = 'Google'    test1.save()    # 另外一种方式    #Test.objects.filter(id=1).update(name='Google')    # 修改所有的列    # Test.objects.all().update(name='Google')    # (删除操作)删除id=1的数据    test1 = Test.objects.get(id=1)    test1.delete()    # 另外一种方式    # Test.objects.filter(id=1).delete()    # 删除所有数据    # Test.objects.all().delete()    # 输出所有数据    for var in list:        response1 += var.name + " "    response = response1    return HttpResponse("<p>" + response + "</p>")

Django表单处理

Django表单学习