Django(两次课)

在这里我使用的Django版本是2.0.2工具为pycharm

第一步 : 首先创建一个Django项目名为Django,第一个程序名为bloog_user


创建之后会形成


第二步 : 其中的models.py承载数据的对象,并提供了对数据的(增,删,改,查)而且还可以生成数据库中的表,我在这里只设置了两个简单的字段用户名和密码两个简单的字段

1 . 在models.py中写入

from django.db import models

#Create your models here.

class BlogUser(models.Model):#模型必须继承models.Model类或子类

    username=models.CharField(max_length=30)

    pwd=models.CharField(max_length=30)

第三步 : 然后我们需要更改Django的数据库连接引擎Django连接数据必须要有Djangodriver为mysqlclient版本为1.7.3

可以通过cmd窗口命令 pip install mysqlclient来安装, 然后在 settings.py找到DATABASES


首先要在MySQL中建立数据库:我建立的数据库为p7_blog

这样就可以在DATABASES中写你的表的属性和字段名

此处的'name'要删除,需要你冲新建立


接着在setting.py中的INTALL_APP中添加自己定义的apps


在上图中的blog_user就是我们开始创建的应用程序名,在这里Django会自动给我们生成,如果没有的话就要自己写上去.

第四步 : 接着我们需要执行manage.py的shell命令,使用快捷键 ctrl+alt+r或者是

执行

进入


然后执行



然而在这里并没有生成数据表所以要执行以下语句

sqlmigrate blog_user 0001


然后在执行migrate blog_user 0001运行,就会在MySQL数据库中创建一个表


表示成功,


第五步 : 接着我们需要在iews.py定义函数 让博客来实现注册的功能  注册分为两种情况。一种为要来注册,另一种为来注册,我们可以通过请求方式来分别两种不同的注册情况,当请求方式为GET时,是要来注册,请求方式为POST时是来注册

首先我在templates这个文件夹下又建了一个文件夹blog_user里面写了两个html文件



然后检查一下settings.py里面有没有TEMPLATES里面的DIRS有没有自动帮我添加,如果没有就要你自己添加


在setting中添加完继续回到views.py里面写函数



然后我们再来配置一下Django文件夹下的urls.py,我们需要在里面导入include模块


然后还要配置一下urls.py,首先我们要在blog_user文件夹下创建一个urls.py文件


在然后我们需要把我们配置blog_user下面的urls.py文件导入views

接着我们运行我们的项目试一下


注意此处运行的是你的项目名


然后在到数据库中看表的编话情况


第二次课:解决注册用户名重复的问题,实现Django登陆

此时数据库虽然已经添加了数据,但如果你继续刷新浏览器数据库也会保存重复的数据,我刷新了浏览器这里数据库给我重复保存了张刚

这里就需要重定向

在web开发当中页面的响应方式:服务器向客户端响应内容

响应内容的俩种方式:1.转发,2.重定向

1.转发:

         一次请求和响应,请求的地址没有发生变化,请求数据被服务器内部的资源共享

2.重点向:

              一次以上的请求和响应,请求地址发生一次以上的变化。如果此时刷新页面不会出现重做现象)

解决此问题我们就要在 views.py里面导入redirectreverse模块,

然后需要在我们刷新的时候跳转到另一个页面,我们在里面创建一个 show() 通过用户的id来显示到页面上, 修改一下代码



同时我们需要在blog_user\urls.py里边配置路径,同时添加app_name='user


接着我们重新运行项目 再次提交 

注册以后成功,刷新,数据库也不会重复保存

因本人水平有限只能写到这里.





















































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值