要写这个,前提还是需要知道三个知识:
一个是urls.py,它是写我们的路由关系的,之前我写了通过wsgiref写一个简单的服务端,也用到了路由,就是
请求过来的url和视图函数的对应关系。
二是就是几个类,render,HttpResponse,redirect,我就说说功能
render:将模板(也就是html文件)渲染,再发送到前端页面---大概就是这样的功能,用词不太准确
HttpResponse:将字符串返回到前端页面
redirect:重定向的功能
三就是数据库相关的,orm吧
1、注册登陆两个功能,想都不要在项目templates文件夹中写两个html页面,一个是登陆,一个是注册。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>register</title>
</head>
<body>
<h1>注册界面</h1>
<form action="" method="post">
用户名:<input type="text" name="name"><br>
密码:<input type="password" name="pwd"><br>
确认密码:<input type="password" name="re_pwd"><br>
<input type="submit" value="注册">
</form>
</body>
</html> <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<h1>登陆界面</h1>
{#最简单的html代码,哈哈#}
{#这里要提醒下,提交到后台的get,post方式都可以,但是作为账户数据的话,用post#}
<form action="/login/" method="post">
用户名:<input type="text" name="name"><br>
密码:<input type="password" name="pwd"><br>
<input type="submit" value="登陆">
</form>
</body>
</html>
2、写好了我们首先去urls.py文件中写好路由,把视图函数映射关系写好

from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^login', views.login),
url(r'^register', views.register),
]

3、写好了就去app01中view文件中写相应的函数了,先写个空函数占位吧
4、需要数据库,先去app01中models.py写一个类(也就是创建表),属性写好了,就执行两句命令
  python3 manage.py makemigrations
  python3 manage.py migrate
这样我们的表就创建好了,那么就应该去视图函数写相关逻辑
from django.db import models

# Create your models here.

class User(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=32)
pwd = models.CharField(max_length=32) ##创建好了,就在cmd中执行上面两条命令就好
5、在视图函数中写逻辑代码
from django.shortcuts import render,HttpResponse,redirect
from app01 import models
# Create your views here. def login(request):
# request这是前端请求发来的请求,携带的所有数据,django给我们做了一些列的处理,封装成一个对象传过来
# 其实挺简单,学会用它给你的一些方法就好了,其实你自己也想到它是怎样处理的。
if request.method == 'GET':
return render(request,'login.html')
if request.method == 'POST':
name = request.POST.get('name')
pwd = request.POST.get('pwd')
user_obj = models.User.objects.filter(name=name,pwd=pwd).first()
if user_obj:
return HttpResponse('登陆成功')
else:
return HttpResponse('用户名或密码错误') def register(request):
if request.method == 'GET':
return render(request,'register.html')
if request.method == 'POST':
name = request.POST.get('name')
pwd = request.POST.get('pwd')
re_pwd = request.POST.get('re_pwd')
if name and pwd and re_pwd:
if pwd == re_pwd:
user_obj = models.User.objects.filter(name=name).first()
if user_obj:
return HttpResponse('用户已存在')
else:
models.User.objects.create(name=name,pwd=pwd).save()
return redirect('/login/')
else:
return HttpResponse('两次密码不一致') else:
return HttpResponse('不能有空!')

6、启动django项目就行了,然后在浏览器输入对应的url,就行操作。

最新文章

  1. 说说SQL Server 网络配置
  2. [译]何时使用 Parallel.ForEach,何时使用 PLINQ
  3. Sharepoint 2010 splist url query for date range
  4. AWS系列之一 亚马逊云服务概述
  5. Trace文件过量生成问题解决
  6. kvm虚拟机安装
  7. [C#基础]说说委托+=和-=的那些事
  8. BZOJ-2324 营救皮卡丘 最小费用可行流+拆下界+Floyd预处理
  9. linux云计算集群架构学习笔记:命令查看文件内容
  10. My way on Linux - 知识梳理计划
  11. openresty源码剖析——lua代码的执行
  12. 记录git常用操作命令
  13. c++自定义类型
  14. [转]SQL中 OVER(PARTITION BY) 取上一条,下一条等
  15. SDL 库 无法解析的外部符号 __imp__fprintf
  16. Python *Mix_w
  17. CXF总结
  18. webpack浅析~
  19. JS获取浏览器URL中查询字符串的参数
  20. jsonp小案例

热门文章

  1. 冒泡排序——Java实现
  2. Flink -- Java Generics Programming
  3. unity获取相机视窗口大小
  4. 关于maven包的引入net.sf.json的问题
  5. Java性能调优实践
  6. 分布式check_mk切换远端图片到本地访问
  7. nginx反向代理与正向代理
  8. 开发时复制aspx网页的方法
  9. Flutter仿照airbnb创建app
  10. CSS 替换元素和非替换元素 行内非替换元素