Django创建数据库操作
django流程之model实例
settigs.py:更改Django2.0.1的配置,更新为之前的路径配置
'DIRS': [os.path.join(BASE_DIR, 'templates')], # 设置templates的路径为Django以前版本 # 'DIRS': [], # 注释掉该行,此为Django 2.0.1最新版本 # 'django.middleware.csrf.CsrfViewMiddleware',
views.py
# Create your tests here. from django.shortcuts import render, HttpResponse from blog import models def userInfo(request): # 这里需要判断前台数据提交的方法是POST还是GET的[大写] if request.method == "POST": get_username = request.POST.get("username", None) get_sex = request.POST.get("sex", None) get_email = request.POST.get("email", None) models.UserInfo.objects.create( # 进行ORM映射,同时Insert数据到数据库 username=get_username, sex=get_sex, email=get_email ) user_list = models.UserInfo.objects.all() # 获取数据库里面的数据 print(user_list) return render(request, 'index.html', {"user_list": user_list}) # 用{}传递一个对象给前端
mysite2/urls.py
from django.contrib import admin from django.urls import path from blog import views urlpatterns = [ path('admin/', admin.site.urls), path(r'userInfo/', views.userInfo), # 将路径名跟函数进行映射 ]
models.py :创建ORM映射模版
from django.db import models class UserInfo(models.Model): username = models.CharField(max_length=64) # 创建数据库字段,并设置长度为64k sex = models.CharField(max_length=64) email = models.CharField(max_length=64)
templates/index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <form method="post" action="/userInfo/" name="userInfo"> <p>姓名<input type="text" name="username"></p> <p>性别<input type="text" name="sex"></p> <p>邮箱<input type="text" name="email"></p> <p><input type="submit" value="提交"></p> </form><hr><hr> <table border="1"> <tr> <th>姓名</th> <th>性别</th> <th>邮箱</th> </tr> {% for i in user_list %} {#Django里面封装的模版语法,用于for循环#} <tr> {# 这里是变量,所以需要2个{}来进行变量引用[规定的] #} <th>{{ i.username }}</th> {# 这里类似字典的取值 i[username] #} <th>{{ i.sex }}</th> {# 这里类似i[sex] #} <th>{{ i.email }}</th> {# 这里类似i[email] #} </tr> {% endfor %} {# 注意结束for循环 #} </table> </body> </html>
创建数据库以及同步数据库数据
生成同步数据库的脚本:python manage.py makemigrations
同步数据库: python manage.py migrate
注意1:如果安装完成后打不开DB数据库,是因为没有安装连接数据库的jar包,PyCharm可以帮助我们进行安装
注意2:在开发过程中,数据库同步误操作之后,难免会遇到后面不能同步成功的情况,解决这个问题的一个简单粗暴方法是把migrations目录下的脚本(除__init__.py之外)全部删掉,再把数据库删掉之后创建一个新的数据库,数据库同步操作再重新做一遍。
settigs.py: 默认的数据库
注意3:重启Django服务,查看页面数据
django之登录默认的admin界面
创建项目好了以后我们会发现有一个默认的admin的函数,对应的就有个URL的地址:http://127.0.0.1:8080/admin/
当我们访问http://127.0.0.1:8080/admin/时,会出现:
我们需要为进入这个项目的后台创建超级管理员:python manage.py createsuperuser,设置好用户名和密码后便可登录啦!
后台输入命令创建用户:python manage.py createsuperuser
其他参考
清空数据库:
python manage.py flush
查询某个命令的详细信息:
django-admin.py help startapp
admin 是Django 自带的一个后台数据库管理系统。
终端上输入python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用
python manage.py
启动当前项目的django交互界面 :
python manage.py shell
注意:这个命令和直接运行 python 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。