接口设计与开发——Django

1、Django的安装,直接在DOS中通过命令安装

pip install django

2、使用命令

where python

查看路径(这样就不会显示你python默认使用的是哪个)

3、将Python所在目录下的Scripts目录追加到Path的环境变量中。

 

 查看django配置情况

django-admin

4、创建Djanjo项目

使用pycharm 社区版本,可通过命令,django-admin startproject 项目名

django-admin startproject CRM

 切换到对应目录中

cd CRM 

 执行manage.py文件

python manage.py runserver

 去访问上图生成的地址,见下图,则说明项目创建成功,且Django 的服务启动成功

 

 如果想执行指定的IP地址和端口,可执行以下命令

python manage.py runserver 127.1.1.1:8679

 打开该地址,发现地址无法访问,见下图,则需要找到网页提示的request.py文件,编辑添加指定文件

找到电脑的文件,复制出来,在pycharm中打开,翻到对应地方,添加host,再访问

 

 再保存后,粘贴进文档内部,再访问即可

 

 

 更改配置文件运行参数

 

 5、Django项目文件说明
创建Django项目后,会自动生成项目所需文件,其文件的结构如图所示。

其中项目中的每个文件都有其作用与意义,下面就对每个文件进行详细说明。
(1)_init_.py文件:由于创建的Django项目是一个Python包,所以该项目中必然存在_init_.py文件,即当文件夹中存在该文件时,则说明这不是一个普通的文件夹而是一个包。在Python中,包是一组模块的集合,主要用于实现文件的分组操作,还可以避免重复命名的情况。
(2)asgi.py文件:其实在该项目文件夹中还存在一个文件wsgi.py,这两个文件表示两种不同形式的Web服务。其中wsgi.py是以前的一种实现方式,它支持HTTP协议,不支持WebSocket协议。asgi.py是新出现的,相比以前的wsgi,py不仅实现了WebSocket协议的扩展,还支持Wb开发中的一些新标准。所以ASGI可以说是WSGI的一种扩展。以前都是WSGI的模式,在Django3.0中才新增了ASGI模式。
(3)settings.py文件:这是Django项目的主要配置文件,在这个文件中可以具体配置该项目的属性,包括数据库设置、网页语言、环境配置、安全配置、参数配置等。
(4)uls.py文件:表示URL路由,能够实现Web中的URL路径访问的映射操作。
(5)manage.py文件:一种命令行工具,允许开发人员以多种方式与该Django项目进行
交互。可以把它看作项目的django-admin.py版本。其实,manage.py和django-admin.py共用相
同的后台代码。

6、接口开发

可以在我们访问的地址后面,增加一个/admin,即可访问,django自带的admin后台

  可以查看django自带的urls中,自带有配置好的admin

自定义一个接口,要先建一个目录View,再再其目录下建一个Login_index文件

 在文件中写入代码

#-*- coding:utf-8 -*-#
#-------------------------------------------------------------------------
#ProjectName:       Python2023 接口设计
#FileName:          Login_Index.py
#Author:            min
#Date:              2023/7/11 10:58
#Description:
#--------------------------------------------------------------------------
#逻辑处理层,完成自定义loginIndex映射的逻辑处理
#如果使用函数完成逻辑处理的话,那么必须传入一个参数,该参数是request对象,参数名可以随意,但是一般默认使用request表示的是请求对象
#有请求就有响应,响应处理有三种方式:可以实现响应一个指定文件格式:json、指定重定向一个url地址、重定向一个html页面
from django.http import HttpResponse   #响应对象
from django.shortcuts import redirect,render   #redirect表示的是重定向url,render表示重定向静态页面
def  LoginIndex(request):
    #实现响应处理
    return  HttpResponse("hello world")
    #return  redirect("http://www.baidu.com")
    #return  render(request,"Login_Index.html")

 再把urls的配置文件中,配置好访问地址

 再访问写好的地址

 

由于目前配置文件中有两个配置地址,需要再后面添加配置的访问地址,再访问页面

 

 

可以修改相应内容

 

 7、开发一个Get接口

在项目上面建一个新的目录Template。再在其目录下创建一个新的login.html页面

在里面添加前端代码

<!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>

在View目录下,新建一个文件View.py,该模块定义响应login的方法,具体代码如下

from django.http import HttpResponse
from django.shortcuts import render
from django.http.response import HttpResponse
from django.shortcuts import render_to_response
import json
#响应对象
# get接口
def getRequestTest(request):
    if request.method == 'GET':
        username = request.GET.get('username')
        return HttpResponse(username)
    else:
        return render_to_response('login.html')

再加上地址,访问页面

 以上Get接口请求就设计好了。

8、开发post接口请求

在views.py 中新增post请求方法,代码如下

from django.shortcuts import render
from django.http.response import HttpResponse
import json
# Create your views here.

# post接口
def Login(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        return HttpResponse(username)
    else:
        return render(request,'login.html')

这个时候访问地址会报错,则需要在settings.py中,配置

os.path.join(BASE_DIR,"Login/Template")

 记得在urls中创建映射

from Login.View.login_Index import LoginIndex
from Login.View.views import getRequestTest
from Login.View.views import Login
#默认的django管理员页面
urlpatterns = [
    path('admin/', admin.site.urls),
#自定义url路由映射规则
    path("loginIndex",LoginIndex),
    path("getRequestTest",getRequestTest),
    path("login", Login)

]

再访问页面

 可以随意输入用户名和密码,但是会报forbidden,表示安全验证性报错,需要找到setting.py文件,注释第46行内容:django.middleware.csrf.CsrfViewMiddleware;然后再输入用户名和密码,就会返回结果

 

 

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值