1 在models中定义一个类 继承models。Models
Models.py是模型 模型承载数据的对象并提供了对数据的增删该查
2 在类中定义字段 例如username=models.CharField(max—length=30)
定义的这个类是用来数据的增删改查
3 为数据库生成这个表 首先要在数据库中建立一个库 例如叫pyblog_db
4 在settings.py中的databases更改django的数据库链接引擎
首先把ENGINE中的sqlete3改成mysql
然后写上 数据库的NAME 数据库的PASSWORD 数据库的UESR
5 执行语句 1makemigrations app名 这样会产生一个文件(生成创建数据库表的脚本并没有执行)
2 migrate app名 这样会产生一个表(执行)
6 在views中定义类一个用来要注册 一个用来看到注册后的效果 提交方式不一样 用到if语句 get是要来注册 post是注册
类中继承的是request
7 在templates中建立一个文件bloguser 在这个文件中建立两个html文件一个用来注册 一个用来显示注册成功后的页面
建立了之后看看在settings.py中的'DIRS': [os.path.join(BASE_DIR, 'templates')],有没有这句话
8 在addhtml中设置注册界面
在 show html中建立注册成功后的页面可以就打个注册成功
9
在新建的app中建立一个urls.py的文件
这是原来的urls文件
这是新建的urls文件
10
然后运行程序地址后输入 urls/register
只要点击注册会出现错误 需要把{% csrf_token %}
复制粘贴到add.html中例如
11 前面做的内容只是可以在页面中点击注册显示注册成功 却无法将注册的内容添加到数
据库中,如何将注册内容添加到数据库中呢?
12 首先在views中添加模块 from.models import*然后补全内容13 最后在show。Html中写上
这样注册之后用户名密码就可以显示出来也可以储存到数据库中但是如果在提交页面一直刷新就会不断地将内容添加到数据库中如果解决这个问题
首先要了解转发和重定向:
转发和重定向都属于资源倒转,转发是一次请求和响应,请求的地址没有发生变化,如果此时刷新页面就会出现重做现象
重定向:一次以上的请求和响应,请求地址发生一次以上的变化,如果此时刷新页面,不会发生重做现象
1 如果做重定向
首先在views中定义一个类 show 继承request和id 下面写上然后再上面diango模块中后面添加reverse
然后新定义的类下面写上
然后再新建的urls中添加内容
最后在views文件中最下面写上内容例如