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表单学习
阅读全文
0 0
- django-笔记
- Django 笔记
- django笔记
- django 笔记
- django笔记
- django笔记
- django笔记
- django笔记
- Django 笔记
- Django笔记
- Django笔记
- Django笔记
- django 笔记
- Django笔记
- Django笔记13(部署Django)
- 【Django】CentOS7安装Django笔记
- Django学习笔记-初识Django
- Django学习笔记
- golang []byte和string相互转换
- Socket编程实现通信
- Linux 下部署Kettle
- 多线程进阶006 之 停止基于线程服务
- 【颗粒归仓】--java集合
- Django 笔记
- P3628 [APIO2010]特别行动队
- leetcode hard模式专杀之99. Recover Binary Search Tree
- Spark2.0.X源码深度剖析之 SparkEnv
- Gradle 出现unindexed remote maven repositories found异常解决方法
- 在Tomcat中部署多个war包
- hive优化总结
- 浏览器页面滚动条美化(样式)
- 腾讯云挂载云硬盘