当前位置: 首页 > wzjs >正文

网站前置审批 查询做服装外贸哪个网站好

网站前置审批 查询,做服装外贸哪个网站好,免费的微信小程序,集团网站建设管理制度在 Django 中获取请求参数的完整方法如下: 一、GET 请求参数获取 def view_func(request):# 获取单个参数(推荐方式)name request.GET.get(name, default) # 带默认值age request.GET.get(age, 0)# 获取多个同名参数(如复选框…

在 Django 中获取请求参数的完整方法如下:

一、GET 请求参数获取

def view_func(request):# 获取单个参数(推荐方式)name = request.GET.get('name', 'default')  # 带默认值age = request.GET.get('age', 0)# 获取多个同名参数(如复选框)ids = request.GET.getlist('ids[]')  # 返回列表# 获取所有参数all_params = request.GET.dict()  # 返回字典

二、POST 请求参数获取

def view_func(request):# 表单数据获取if request.method == 'POST':username = request.POST.get('username')password = request.POST.get('password')# 处理多选数据hobbies = request.POST.getlist('hobbies')# 获取所有参数post_data = request.POST.dict()

三、JSON 请求体参数获取

import jsondef view_func(request):if request.method == 'POST':try:data = json.loads(request.body)username = data.get('username')age = data.get('age')except json.JSONDecodeError:return HttpResponseBadRequest("Invalid JSON")

四、URL 路径参数获取

# urls.py
from django.urls import path
from . import viewsurlpatterns = [path('user/<int:user_id>/', views.user_detail),
]# views.py
def user_detail(request, user_id):# 直接获取路径参数print(user_id)  # 自动转换为整数

五、文件上传处理

def upload_file(request):if request.method == 'POST':uploaded_file = request.FILES.get('myfile')if uploaded_file:# 保存文件到指定位置with open(f'uploads/{uploaded_file.name}', 'wb+') as destination:for chunk in uploaded_file.chunks():destination.write(chunk)return HttpResponse("File uploaded")

六、请求头信息获取

def get_headers(request):user_agent = request.META.get('HTTP_USER_AGENT')content_type = request.META.get('CONTENT_TYPE')auth_token = request.headers.get('Authorization')  # Django 2.2+

七、综合示例

def complex_example(request, product_id):# 1. 获取路径参数print(f"Product ID: {product_id}")# 2. 获取GET参数page = request.GET.get('page', 1)search = request.GET.get('q', '')# 3. 获取POST参数if request.method == 'POST':data = {'form_data': request.POST.dict(),'json_data': {}}# 4. 处理JSON数据if request.content_type == 'application/json':try:data['json_data'] = json.loads(request.body)except json.JSONDecodeError:pass# 5. 获取文件uploaded_file = request.FILES.get('attachment')# 6. 获取请求头client_ip = request.META.get('REMOTE_ADDR')return JsonResponse(data)

八、注意事项

  1. 参数类型转换
# 安全转换示例
def safe_conversion(request):page = request.GET.get('page', '1')try:page_num = int(page)except ValueError:page_num = 1is_admin = request.GET.get('admin', 'false').lower() == 'true'
  1. 安全验证
from django.core.exceptions import PermissionDenieddef secure_view(request):# 验证必要参数存在if not all([request.GET.get('token'), request.POST.get('user_id')]):raise PermissionDenied# 参数白名单验证allowed_params = {'page', 'sort', 'filter'}if not set(request.GET.keys()).issubset(allowed_params):return HttpResponseBadRequest("Invalid parameters")
  1. Django REST Framework 方式
# serializers.py
from rest_framework import serializersclass UserSerializer(serializers.Serializer):username = serializers.CharField()email = serializers.EmailField()# views.py
from rest_framework.decorators import api_view
from rest_framework.response import Response@api_view(['POST'])
def drf_example(request):serializer = UserSerializer(data=request.data)if serializer.is_valid():username = serializer.validated_data['username']return Response({'status': 'success'})return Response(serializer.errors, status=400)

九、参数获取方法对比

参数位置获取方式适用场景
URL 查询字符串request.GET过滤、分页、搜索参数
表单数据request.POST传统表单提交
JSON 数据json.loads(request.body)API 接口、AJAX 请求
路径参数视图函数参数RESTful 资源定位
文件上传request.FILES文件上传表单
请求头信息request.META/request.headers认证、客户端信息获取

十、最佳实践建议

  1. 始终对用户输入进行验证和清理
  2. 优先使用 get() 方法避免 KeyError
  3. 对数值型参数进行类型转换和范围验证
  4. 使用 DRF 的 Serializer 处理复杂参数验证
  5. 对敏感参数使用 HTTPS 传输
  6. 限制 GET 参数的最大长度(Django 默认 2500 字符)

完整示例项目结构:

myproject/
├── myapp/
│   ├── views.py
│   ├── urls.py
│   └── serializers.py
├── utils/
│   └── param_utils.py
└── myproject/├── settings.py└── urls.py

文章转载自:

http://FCpx0G0t.smdqL.cn
http://3Vrmk6Xc.smdqL.cn
http://F6qnya9f.smdqL.cn
http://iBQn8Bw9.smdqL.cn
http://0LBU8xiM.smdqL.cn
http://Y3Yvha62.smdqL.cn
http://TVRUuzdo.smdqL.cn
http://HlcayTzW.smdqL.cn
http://FHduMTFE.smdqL.cn
http://pkqhbFZJ.smdqL.cn
http://11EWDTzy.smdqL.cn
http://yFwtKGT9.smdqL.cn
http://MkBrgrLV.smdqL.cn
http://TkpciSnu.smdqL.cn
http://13WU4EQG.smdqL.cn
http://FswV5Cg3.smdqL.cn
http://9EMMc4IO.smdqL.cn
http://Kuo07hAy.smdqL.cn
http://o8TBDqaL.smdqL.cn
http://n1QUw6Db.smdqL.cn
http://hFcVAmPe.smdqL.cn
http://2wADisqs.smdqL.cn
http://NhyY7OkA.smdqL.cn
http://D3HsfQ6z.smdqL.cn
http://yNM8z69o.smdqL.cn
http://6hm7S6i7.smdqL.cn
http://IGecb8kH.smdqL.cn
http://qIMI7qk1.smdqL.cn
http://pXml3l08.smdqL.cn
http://27goPLFc.smdqL.cn
http://www.dtcms.com/wzjs/761409.html

相关文章:

  • 网站制作动态转静态怎么做wordpress 获取所有标签
  • html5网站开发的源码上海搬家公司排名
  • 北京市住房和城乡建设网站如何防范恶意网站
  • 河南哪里网站建设公司改网站js代码
  • 东莞网站建设怎么做wordpress智能插件
  • 不属于网站后期维护好创意设计大赛官网
  • wap建站程序电子商务网站建设与维护第二版
  • 江苏省住房和城乡建设厅官方网站男女做那事视频免费网站
  • 深圳网站设计 深圳市利WordPress怎么更改主题名称
  • 收录网站是怎么做的东莞 网站建设 定制水
  • 公司做网站效果怎么样吐槽做网站
  • 商业网站开发实训报告总结菠菜源码怎么做网站
  • 360企业自助建站做社交的招聘网站
  • 盘锦网站建设哪家好南通网络公司网站
  • 重庆设计网站建设php房产中介网站源码
  • 请问做网站和编程哪个容易些西安网站建设开发公司
  • 天水+网站建设jsp网站开发详解书籍
  • 门户网站设计欣赏婚纱网站建设案例
  • 网站开发自我介绍大连美建科技有限公司
  • 东莞天助网的网站做网站前需要做什么准备
  • 营销型网站建设哪家公司好中建南方建设集团官方网站
  • 手机访问自动跳转到wap网站的代码在线做章网站
  • 千助做网站怎么样wordpress换编辑器
  • 杭州江干网站建设黑马程序员教程
  • 织梦网站导航浮动手机app开发软件教程
  • 东莞最新网站建设软件好用的免费网站建设
  • 清远网站seoseo网络优化师
  • 温州网站优化排名北京市朝阳区住房建设网站
  • 网站如何做中英文双语言母婴类网站怎么建设
  • 如何做好网站宣传谷歌服务加速 wordpress