天天生鲜项目学习资料(Django) 原创 Python开发 2022年7月7日 14:19 夏至未至 2334 当前内容 4358 字,在路上,马上到,马上到 ### 目录 [TOC] ### 资料说明 1. 项目主要围绕 Django 框架展开,是学习 Django 必备的学习资料。 2. 资料包含完整源码,个人附有详细注释,能更快上手学习。 3. 资料包含完整视频教程(5G左右),对应源码,学习起来更轻松。 4. 学习资料通过高价购买而来,故有偿分享,还望理解。 ### 项目展示 ### 部分功能源码 #### 用户登录 class LoginView(View): '''登录''' def get(self, request): '''显示登录页面''' # 判断是否记住了用户名 if 'username' in request.COOKIES: username = request.COOKIES.get('username') checked = 'checked' else: username = '' checked = '' # 使用模板 return render(request, 'login.html', {'username':username, 'checked':checked}) def post(self, request): '''登录校验''' # 接收数据 username = request.POST.get('username') password = request.POST.get('pwd') # 校验数据 if not all([username, password]): return render(request, 'login.html', {'errmsg':'数据不完整'}) # 业务处理:登录校验 user = authenticate(username=username, password=password) if user is not None: # 用户名密码正确 if user.is_active: # 用户已激活 # 记录用户的登录状态 login(request, user) # 跳转到首页 response = redirect(reverse('goods:index')) # 判断是否需要记住用户名 remember = request.POST.get('remember') if remember == 'on': # 记住用户名 response.set_cookie('username', username, max_age=7*24*3600) else: response.delete_cookie('username') # 返回response return response else: # 用户未激活 return render(request, 'login.html', {'errmsg':'账户未激活'}) else: # 用户名或密码错误 return render(request, 'login.html', {'errmsg':'用户名或密码错误'}) #### 订单支付 class OrderPayView(View): '''订单支付''' def post(self, request): '''订单支付''' # 用户是否登录 user = request.user if not user.is_authenticated(): return JsonResponse({'res':0, 'errmsg':'用户未登录'}) # 接收参数 order_id = request.POST.get('order_id') # 校验参数 if not order_id: return JsonResponse({'res':1, 'errmsg':'无效的订单id'}) try: order = OrderInfo.objects.get(order_id=order_id, user=user, pay_method=3, order_status=1) except OrderInfo.DoesNotExist: return JsonResponse({'res':2, 'errmsg':'订单错误'}) # 业务处理:使用python sdk调用支付宝的支付接口 # 初始化 alipay = AliPay( appid="2016090800464054", # 应用id app_notify_url=None, # 默认回调url app_private_key_path=os.path.join(settings.BASE_DIR, 'apps/order/app_private_key.pem'), alipay_public_key_path=os.path.join(settings.BASE_DIR, 'apps/order/alipay_public_key.pem'), # 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥, sign_type="RSA2", # RSA 或者 RSA2 debug=True # 默认False ) # 调用支付接口 # 电脑网站支付,需要跳转到https://openapi.alipaydev.com/gateway.do? + order_string total_pay = order.total_price+order.transit_price # Decimal order_string = alipay.api_alipay_trade_page_pay( out_trade_no=order_id, # 订单id total_amount=str(total_pay), # 支付总金额 subject='天天生鲜%s'%order_id, return_url=None, notify_url=None # 可选, 不填则使用默认notify url ) # 返回应答 pay_url = 'https://openapi.alipaydev.com/gateway.do?' + order_string return JsonResponse({'res':3, 'pay_url':pay_url}) ### 资料下载 链接:https://pan.ba ¥28.00 解锁全文 下载资源 本文标题: 天天生鲜项目学习资料(Django) 本文作者: 夏至未至 发布时间: 2022年7月7日 14:19 最近更新: 2024年4月10日 17:12 原文链接: 许可协议: 署名-非商业性-禁止演绎 4.0 国际(CC BY-NC-ND 4.0) 请按协议转载并保留原文链接及作者 Docker(8) Django(1) 上一个 MySQL视图-增删改查 下一个 Windows编写shell脚本,在Linux运行报错 当前文章评论暂未开放,请移步至留言处留言。