Django做网站只要10步,真的只有10步,不信?咱们来数数……

  今天主要讲解用Pycharm编辑器搭建网站,网站功能是 实现在局域网中快速传递大文件! 比如:同事要给你个1G的文件,你丢一个网站链接给他。他上传后,文件就在你电脑啦!演示效果如下动图:从电脑F磁盘通过浏览器上传,在D盘出现文件,这里浏览器上传文件可以在其他任意电脑上,上传文件将存于你的D盘!

安装Pycharm专业版

  注意Pycharm需要安装 专业版 ,文末可获取 Pycharm专业版软件激活方法及文件

Django网站搭建

第一步

  Pycharm打开后,新建项目:点击左上角File文件——New Project创建项目弹出方框,即第二步中的图示。

第二步

  创建项目内容,点击左边 Django ,在上方 Locattion 中输入项目地址+项目名称。图中项目地址为:" E:\PyCharm Project "项目名称为" Decrypt_Test ",用""隔开!点击 "ProjectInterpreter:Python3.7" ,会展开选项如下图。选择" Existing interpreter "(意思是已存在的解释器)在Interpreter中输入Python环境所在地址+python.exe。可以手工输入,也可以用点击右边"三个点"控件选择文件路径。最后点击Create创建项目。

  也可以在展开的 "ProjectInterpreter:Python3.7" 中选择New environment using,这个是默认选择的,为每个项目单独建立一个虚拟环境。新手建议选择此项,节省操作步骤!

  注意安装Pycharm前需要事先安装Python环境,如果不知道安装的小伙伴可以参照 **想学Python不知如何入门,教你! ** 文章下半段Python环境安装教程。

第三步

  第二步创建完成项目后,会弹出如下对话框。选择 Open in current window ,点击 OK

第四步

  点击OK后,会进入到刚才创建的项目,如下图。默认打开了settings.py和urls.py文件,对应的就是左侧文件。

  点击界面左下角图标,选择Terminal,并在光标出输入 python manage.py startapp decrypt,按enter结束后,会在项目左侧看见新增了一个文件夹,如下图2:

第五步

  在settings.py中的找到 INSTALLED_APPS ,在中括号内新增 'decrypt.apps.DecryptConfig', 表示注册App。如下图:

  在settings.py中的找到" ALLOWED_HOSTS ",在中括号内写入 "*" ,代码任意IP地址可访问你的网站。

第六步

  在urls.py中的找urlpatterns,中括号中增加 path('decrypt/,decrypt'),

第七步

  双击左侧views.py文件打开它,写入如下内容:

  1. from django.shortcuts import render,redirect
  2. # Create your views here.
  3. def decrypt(request):
  4. """解密文件"""
  5. if request.method == "GET":
  6. return render(request, "decrypt.html")
  7. else:
  8. # 获取文件
  9. pic = request.FILES["pic"]
  10. # 创建一个文件
  11. save_path = "D:/%s" % pic.name
  12. with open(save_path, "wb") as f:
  13. # 获取上传文件的内容并写入打开的文件
  14. for content in pic.chunks():
  15. f.write(content)
  16. # 返回
  17. return redirect("/decrypt")
  18. # return JsonResponse({"msg": "OK!"})

第八步

  在左侧templates文件夹中新建一个decrypt.html文件,双击左侧decrypt.html文件打开它,写入如下内容:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>解密亿赛通文件</title>
  6. </head>
  7. <body>
  8. <h4>文件上传</h4>
  9. <form action="/decrypt/" enctype="multipart/form-data" method="post">
  10. {% csrf_token %}
  11. 上传文件:<br>
  12. <input type="file" name="pic"> <br>
  13. <input type="submit" value="上传并解密">
  14. </form>
  15. </body>
  16. </html>

第九步

  在Terminal中输入python manage.py runserver 172.16.6.224:8000,注意,此处的172.16.6.224:8000是我的电脑的IP地址,你需要 改成你电脑的IP地址,而且回车键运行,出现如下图2所示代表成功运行了网站!,在浏览器中输入:"http://172.16.6.224:8000/decrypt/" ,注意这里的IP地址改成你自己的IP地址。赶快把网站地址发给你的小伙伴,让他们给你传数据吧!

  如果文章对你有帮助,记得点赞+关注+收藏!

获取软件方式

关注公众号【Python利剑】,回复" Pycharm "获取软件和激活文件

10步写了个Django网站,正经网站···的更多相关文章

  1. 如何一步一步用DDD设计一个电商网站(十四)—— 回顾与总结

    本系列所有文章 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念 如何一步一步用DDD设计一个电商网站(二)—— 项目架构 如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域 如 ...

  2. 10种JavaScript特效实例让你的网站更吸引人

    我们有三种主要的方法(从难到易):自己动手写脚本;使用类似于jQuery和mooTools的JavaScript框架(可以让编写代码变得更容易些);使用能工作于现有的JavaScript框架下的提前预 ...

  3. #使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验

    #使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验 一.续上前言 关于这个小玩意的产品思考,假设我暂时把他叫我是月老热心人 这是一个没有中心的关系链,每个人进入以后都是以自己为中 ...

  4. 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成

    阅读目录 前言 建模 实现 结语 一.前言 前面几篇已经实现了一个基本的购买+售价计算的过程,这次再让售价丰满一些,增加一个会员价的概念.会员价在现在的主流电商中,是一个不大常见的模式,其带来的问题是 ...

  5. 如何一步一步用DDD设计一个电商网站(五)—— 停下脚步,重新出发

    阅读目录 前言 单元测试 纠正错误,重新出发 结语 一.前言 实际编码已经写了2篇了,在这过程中非常感谢有听到观点不同的声音,借着这个契机,今天这篇就把大家提出的建议一个个的过一遍,重新整理,重新出发 ...

  6. 如何一步一步用DDD设计一个电商网站(四)—— 把商品卖给用户

    阅读目录 前言 怎么卖 领域服务的使用 回到现实 结语 一.前言 上篇中我们讲述了“把商品卖给用户”中的商品和用户的初步设计.现在把剩余的“卖”这个动作给做了.这里提醒一下,正常情况下,我们的每一步业 ...

  7. 如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域

    一.前言 结合我们本次系列的第一篇博文中提到的上下文映射图(传送门:如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念),得知我们这个电商网站的核心域就是销售子域.因为电子商务是以信息网络 ...

  8. 《一步一步写嵌入式操作系统》读书笔记1—Skyeye介绍、安装和HelloWorld

    2013-11-14 最近在看<一步一步写嵌入式操作系统>,感觉此书甚好,许多地方讲得很清楚.可操作性强,计划边读边实践边写笔记,希望能够逐步熟悉嵌入式操作系统底层的东西,最终剪裁出一套实 ...

  9. 如何一步一步用DDD设计一个电商网站(十二)—— 提交并生成订单

    阅读目录 前言 解决数据一致性的方案 回到DDD 设计 实现 结语 一.前言 之前的十一篇把用户购买商品并提交订单整个流程上的中间环节都过了一遍.现在来到了这最后一个环节,提交订单.单从业务上看,这个 ...

随机推荐

  1. element ui中循环出来的表格勾选问题

    需求是这样的,一个房主屋里面有多个电表,每一个表是一个账户,一次只能给一个账户缴费,在点击go按钮进行缴费,这个时候判断是否跨表勾选,跨表格勾选则弹窗提示,反之符合需求,走缴费逻辑 上代码 <! ...

  2. AtCoder Grand Contest 017 (VP)

    contest link Official Editorial 比赛体验--之前做题的时候感觉 AtCoder 挺快的,现在打了VP之后发现还是会挂的--而且不是加载缓慢或者载不出来,直接给你一个无法 ...

  3. 【坑点集合】C++ STL 使用注意事项整理

    Intro 简单整理了一些关于 C++ STL 的注意点. 虽然大多数东西可以手写不过某些东西最好少造轮子,善用 STL 可以节约很多考场时间,简化实现. 当然是时空限制和功能足够的前提下. Tips ...

  4. 颜色直方图(Color Histogram)

    数字成像中的颜色直方图是对给定图像中具有相同颜色的像素的频率进行计算的一种方法.这种方法通常被转换成一个图形,以帮助分析和调整图像中的平衡.几乎所有的照片编辑软件和大量的数码相机都具有颜色直方图的查看 ...

  5. Codeforces Edu Round 51 A-D

    A. Vasya And Password 模拟题,将所缺的种类依次填入"出现次数$ >1 $"的位置,替换掉Ta即可. #include <iostream> ...

  6. js-enter提交表单导致页面刷新问题

    问题:当页面只有一个文本框时,使用键盘enter操作执行提交表单的时候,会导致页面进行刷新,并且参数也会自动添加到url中. 解决办法: 1.给form添加onsubmit=return false; ...

  7. 解决python3 ,ModuleNotFoundError: No module named 'pip'问题

    今天想要装一下PyYmal第三方库来写一下Python的desired_caps.yaml文件,候发现cmd窗口下无法执行pip命令, 出现了:ModuleNotFoundError: No modu ...

  8. 热部署Devtools

    在子工程添加devtools的依赖 <dependency> <groupId>org.springframework.boot</groupId> <art ...

  9. Linux查看、开启、关闭防火墙操作

    一.防火墙区别 CentOS6自带的防火墙是iptables,CentOS7自带的防火墙是firewall. iptables:用于过滤数据包,属于网络层防火墙. firewall:底层还是使用 ip ...

  10. ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes

    这个错误是我在安装ambari平台时,准备为ambari指定mysql数据库时,执行建表语句时遇到的. ERROR 1071 (42000): Specified key was too long; ...