目录
1.创建Django项目
Django之创建项目【二】:https://blog.csdn.net/Burgess_zheng/article/details/86505526
2.创建app(并且app目录下创建一个urls.py文件)
进入项目目录下
创建app命令:
F:\Burgess\Python\pycharm实验脚本\test\project_burgess>python manage.py startapp submit_views
3.定义请求的URL路由分发
路径:project_burgess/project_burgess/urls.py
from django.contrib import admin from django.urls import path,re_path #Django版本2.0以上 from project_burgess import views from django.conf.urls import url #Django2.0 from django.conf.urls import include urlpatterns = [ path('admin/', admin.site.urls), #提交各种数据数据类型测试 re_path('submit/', include("submit_views.urls")), # url(r'^submit/', include("submit_views.urls")), ]
4.定义app下的URL路由
路径:project_burgess/submit_views/urls.py
__author__ = "Burgess Zheng" #!/usr/bin/env python #-*- coding:utf-8 -*- from django.urls import path,re_path #Django版本2.0以上 from submit_views import views from django.conf.urls import url #Django2.0 app_name='namespace' urlpatterns = [ re_path('',views.submit_handle), #url(r'^', views.submit_handle), ]
5.url对应函数进行接收数据和响应数据
路径:project_burgess/submit_views/views.py
from django.shortcuts import render,redirect,HttpResponse # Create your views here. def submit_handle(request): if request.method == "GET": return render(request, 'submit_handle.html') elif request.method == "POST": # radio(单选框)接收数据格式如下: gender = request.POST.get('gender') print('gender: ',gender) # checkbox(多选框)接收数据如下: favor = request.POST.getlist('favor') print('favor: ',favor) # select(单选下拉框)接收数据如下: city = request.POST.get('city') print('city: ',city) # select(多选下拉框)接收数据如下: city_mul = request.POST.getlist('city_mul') print('city_mul:',city_mul) # files(上传文件)接收数据如下: obj = request.FILES.get('file_name') # 获取用户上传过来整个文件 import os file_path = os.path.join('%s\\upload'%os.path.dirname(os.path.abspath(__file__)), obj.name) # 在上传的文件名加上一个upload路径 f = open(file_path, mode="wb") # 二进制写入方式在upload目录创建一个的文件,文件名为调取客户上传的文件名 for i in obj.chunks(): # 文件都是块组成的,obj.chunks 获取该文件的所有块导入i f.write(i) # 循环把块写入f文件 f.close # 写完关闭掉文件 print('file:',obj) #打印显示该对象(FILES获取是整个文件 不是文件名,显示和文件名一样) # print(type(obj)) #打印该对象的类型(结果类型是一个类的对象,证明是文件) # print(obj.name) #打印显示该对象的名字(这就是文件名了) # print(type(obj.name)) #打印显示该对象的名字的类型(结果类型是字符串 # print(obj,type(obj),obj.name,type(obj.name)) #以上是分开打,其实逗号隔开打都可以 return HttpResponse('OK') else: # PUT,DELETE,HEAD,OPTION....(目前用不到) return HttpResponse('False')
6.前端HTML各种数据提交(单选框,多选框,单选下拉框,多选下拉框,文件)
路径:project_burgess/templates/submit_handle.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form method="POST" action="/submit/" enctype="multipart/form-data"> {% csrf_token %} {#单选框#} <div> 男:<input type="radio" name="gender" value="1"> 女:<input type="radio" name="gender" value="2"> 同:<input type="radio" name="gender" value="3"> </div> {#多选框#} <div> 男:<input type="checkbox" name="favor" value="11"> 女:<input type="checkbox" name="favor" value="12"> 同:<input type="checkbox" name="favor" value="13"> </div> {#select下拉框#} <div> <select name="city"> <option value="sz">深圳</option> <option value="gz">广州</option> <option value="cs">潮汕</option> </select> </div> {# select序多选下拉框#} <div> <select name="city_mul" multiple> <option value="sz">深圳</option> <option value="gz">广州</option> <option value="cs">潮汕</option> </select> </div> {# 文件接收 #} <div> <input type="file" name="file_name"/> </div> <input type="submit" name="提交"> </form> </body> </html>
7.启动Django
手动:python manage.py runserver 127.0.0.1:8000
pycharm:
8.浏览器访问URL结果
get请求
点击提交
查看后台
查看图片目录
下一篇:Django之view视图处理(FBV,CBV,装饰器,前后端交互各种数据类型和响应,请求头相关信息)【四】https://blog.csdn.net/Burgess_zheng/article/details/86539387