django中如何设计一个简单的登录
编写目的:用django创建一个简单的登录,理解MTV模型。
1.在Model.py文件中创建数据库
class userinfo(models.Model):
username = models.CharField(max_length=32,unique=True)
password = models.CharField(max_length=32)
class Meta:
db_table = "userinfo" #插入的表命名为userinfo
2.配置路由信息
django的目录结果为下图:
我门在App目录下面的url.py中编写一下内容。
from django.conf.urls import url
from django.contrib import admin
from django.urls import path, include
from App import views
urlpatterns = [
url(r'^login/$',views.login),
]
在主路由中,也就是DjangoModel中编写上如下内容:
from django.conf.urls import url
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^app/',include('App.urls')),
]
3.App目录下的views.py中编写如下信息
提前条件,django需求连接数据库,并且在表中创建一个数据,如下图
def login(request):
username = "admin"
password = "1234564"
get_username = userinfo.objects.filter(username = username)
print(get_username.count())
if get_username.exists():
get_username = get_username.first()
print("获取用户信息成功!")
if get_username.password == password:
print("登录成功!")
else:
print("密码错误!")
else:
print("用户信息不存在")
return HttpResponse("用户信息获取中!")
此时我们用命令python manage.py runserver 命令启动系统。在浏览器中输入http://127.0.0.1:8000/app/login
可以看到如下内容
返回pycharm中,看到的信息如下
密码错误!
[05/Dec/2020 14:43:41] "GET /app/login/ HTTP/1.1" 200 24
当修改为数据库中密码时就能登录成功。