app01 :应用名
dj:项目同名文件夹
static:存放静态文件
temphtml:存放html文件
连接数据库
在settings.py文件中找到 DATABASES,设置数据库连接
在models.py中设置数据库,建立一个类,设置变量
class mod(models.Model):
id = models.AutoField(primary_key=True)
user= models.CharField(max_length=255)
password= models.IntegerField()
# 数据输出样式
def __str__(self):
return f"['id': {self.id}, 'user': {self.user}, 'password': {self.password}]"
class Meta:
db_table = 'us_pass'
# 指定数据表名,可以是需要新建表的表名
# 也可以是数据库中已存在的表
# 但变量名需要和数据库中保持一致。
python manage.py makemigrations app_name
python manage.py migrate
即可在指定数据库中生成指定表结构,也会生成很多其他的表,不用理会。如果库中已存在同名表,则不会新建。
向数据库存储数据
在views.py文件中导入相关类:
from app01.models import mod
这里显示表单的网页是首页,由home函数管理,输入数据后,带着参数跳转到index页面,由index函数管理,因此想要得到数据,需要在index函数中获取。
def home(request):
return render(request, 'home.html')
def index(request):
if request.method == 'POST':
name = request.POST.get('name')
password = request.POST.get('password')
# 获取网页中的数据
print(name, password)
# 映射存储
datas = mod()
datas.user = name
datas.password = password
datas.save()
return render(request, 'demo01.html')
<form action="/index/" method="post">
<!--从home页post跳转到index页-->
{% csrf_token %}
name:<input type="text" name="name"/><br/>
password:<input type="password" name="password"/><br/>
<input type="submit" value="提交"/>
</form>
从数据库中读取数据
同样是在views.py中导入需要的类
from app01.models import mod
def json_html(request):
if request.method == 'POST':
name = request.POST.get('name')
datas = mod.objects.filter(user=name)
# datas = mod.objects.all()
# datas = mod.objects.get(id = '1')
print(datas)
for da in datas:
# 获取某一字段
passwords = da.password
return HttpResponse(datas)
.objects.filter()
和 .objects.get()
可添加条件。
但是get的条件必须满足在表中唯一,不然会出现get() returned more than one mod -- it returned 2!
的提醒,因为get只能返回一条数据。
filter可返回多条数据,属于QuerySet对象。
all 返回的是表中的所有数据,也属于QuerySet对象。
原文地址:https://blog.csdn.net/qq_51543898/article/details/130106128
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_29118.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!