Django第一个测试

时间:2020-03-27
本文章向大家介绍Django第一个测试,主要包括Django第一个测试使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

上一篇我们已经搭好了django环境,接下来创建一个app

cmd进入我们的工程目录执行命令

python manage.py startapp web

项目里已经有了web这个应用文件

接下来将我们的应用app添加到setting 

 在views.py中添加第一个测试

from django.http.response import HttpResponse

def Login(request):
    return HttpResponse('This is the first test')

我们访问127.0.0.1:8000/login,基本的一个原理

urls中调用Login,这里相当于一个路由,首先执行的是这个path 去找login 映射的是Login方法---->然后HttpResponse返回我们指定内容

 然后我们来做一个很low的post接口

先在templates文件里写一个最简单的登录页

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
<form action="/login/" method="POST">
    <h1>用户名:<input name="username"></h1>
    <h1>密码:<input name="password"></h1>
    <input type="submit" value="登录">
</form>
</body>
</html>

然后在views定义login方法

from django.http.response import HttpResponse
from django.shortcuts import render_to_response

def Login(request):
    if request.method == 'POST':
        usernam = request.POST.get('username') #获取用户提交的username
        return HttpResponse(usernam)
    else:
        return render_to_response('login.html') #当不是post请求时,返回到登录页面

这里需要设置两个地方

一个是templates的地址,在setteings中

 另外一个是安全验证的警告,我们先忽略掉,否则会403

测试一下接口 ,返回200 

 再来一个get

from django.http.response import HttpResponse
from django.shortcuts import render_to_response
import json

def Login(request):
    if request.method == 'POST':
        username = request.POST.get('username') #获取用户提交的username
        return HttpResponse(username)
    elif request.method == 'GET':
        result = {}
        username = request.GET.get('username')
        mobile = request.GET.get('mobile')
        data = request.GET.get('data')
        result['user'] = username
        result['mobileNum'] = mobile
        result['data'] = data
        result = json.dumps(result)
        return HttpResponse(result,content_type= 'application/json;charset=utf-8')
    else:
        return render_to_response('login.html') #当不是post请求时,返回到登录页面

测试一下

 试试我们刚刚的登录页面,也是可以的

原文地址:https://www.cnblogs.com/tongjc-0901/p/12583092.html