10步写了个Django网站,正经网站···
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文件打开它,写入如下内容:
from django.shortcuts import render,redirect
# Create your views here.
def decrypt(request):
"""解密文件"""
if request.method == "GET":
return render(request, "decrypt.html")
else:
# 获取文件
pic = request.FILES["pic"]
# 创建一个文件
save_path = "D:/%s" % pic.name
with open(save_path, "wb") as f:
# 获取上传文件的内容并写入打开的文件
for content in pic.chunks():
f.write(content)
# 返回
return redirect("/decrypt")
# return JsonResponse({"msg": "OK!"})
第八步
在左侧templates文件夹中新建一个decrypt.html文件,双击左侧decrypt.html文件打开它,写入如下内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>解密亿赛通文件</title>
</head>
<body>
<h4>文件上传</h4>
<form action="/decrypt/" enctype="multipart/form-data" method="post">
{% csrf_token %}
上传文件:<br>
<input type="file" name="pic"> <br>
<input type="submit" value="上传并解密">
</form>
</body>
</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网站,正经网站···的更多相关文章
- 如何一步一步用DDD设计一个电商网站(十四)—— 回顾与总结
本系列所有文章 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念 如何一步一步用DDD设计一个电商网站(二)—— 项目架构 如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域 如 ...
- 10种JavaScript特效实例让你的网站更吸引人
我们有三种主要的方法(从难到易):自己动手写脚本;使用类似于jQuery和mooTools的JavaScript框架(可以让编写代码变得更容易些);使用能工作于现有的JavaScript框架下的提前预 ...
- #使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验
#使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验 一.续上前言 关于这个小玩意的产品思考,假设我暂时把他叫我是月老热心人 这是一个没有中心的关系链,每个人进入以后都是以自己为中 ...
- 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成
阅读目录 前言 建模 实现 结语 一.前言 前面几篇已经实现了一个基本的购买+售价计算的过程,这次再让售价丰满一些,增加一个会员价的概念.会员价在现在的主流电商中,是一个不大常见的模式,其带来的问题是 ...
- 如何一步一步用DDD设计一个电商网站(五)—— 停下脚步,重新出发
阅读目录 前言 单元测试 纠正错误,重新出发 结语 一.前言 实际编码已经写了2篇了,在这过程中非常感谢有听到观点不同的声音,借着这个契机,今天这篇就把大家提出的建议一个个的过一遍,重新整理,重新出发 ...
- 如何一步一步用DDD设计一个电商网站(四)—— 把商品卖给用户
阅读目录 前言 怎么卖 领域服务的使用 回到现实 结语 一.前言 上篇中我们讲述了“把商品卖给用户”中的商品和用户的初步设计.现在把剩余的“卖”这个动作给做了.这里提醒一下,正常情况下,我们的每一步业 ...
- 如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域
一.前言 结合我们本次系列的第一篇博文中提到的上下文映射图(传送门:如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念),得知我们这个电商网站的核心域就是销售子域.因为电子商务是以信息网络 ...
- 《一步一步写嵌入式操作系统》读书笔记1—Skyeye介绍、安装和HelloWorld
2013-11-14 最近在看<一步一步写嵌入式操作系统>,感觉此书甚好,许多地方讲得很清楚.可操作性强,计划边读边实践边写笔记,希望能够逐步熟悉嵌入式操作系统底层的东西,最终剪裁出一套实 ...
- 如何一步一步用DDD设计一个电商网站(十二)—— 提交并生成订单
阅读目录 前言 解决数据一致性的方案 回到DDD 设计 实现 结语 一.前言 之前的十一篇把用户购买商品并提交订单整个流程上的中间环节都过了一遍.现在来到了这最后一个环节,提交订单.单从业务上看,这个 ...
随机推荐
- 【Harbor学习笔记】-教你快速搭建Docker私有仓库
目录 架构图 Harbor依赖的外部组件 Harbor自有组件 核心组件 安装 1. 下载离线安装包 2. 配置 harbor.cfg (harbor.yml) 3. 启动 Harbor 安装配置问题 ...
- Flink读写Redis(二)-flink-redis-connector代码学习
源码结构 RedisSink package org.apache.flink.streaming.connectors.redis; import org.apache.flink.configur ...
- css进阶 00-准备
前言 css 进阶的主要内容如下. #1.css 非布局样式 html 元素的分类和特性 css 选择器 css 常见属性(非布局样式) #2.css 布局相关 css 布局属性和组合解析 常见布局方 ...
- js上 七、表达式
(1).什么是表达式 任何有值的内容都是表达式 一个表达式会产生一个值,它可以放在任何需要一个值的地方,比如a=3中的3就是一个表达式,a=3整体也可以作为一个表达式. 常见表达式有如下几种: ü 原 ...
- [打基础]OI/ACM基本功&一些小功能的实现&一些错误(持续更新)
基本功 前导0 如题,有时候需要把3输出成03这样子,可以调用 cout.width(x); ,x表示以几位,用 cout.fill(x); 来给出前导填充的内容,一般x以char的形式给出 例如可以 ...
- 在linux下搭建NFS服务器实现文件共享
目录 一.关于NFS 二.搭建一台NFS服务器共享特定资源 三.调优 一.关于NFS 1.NFS是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系 ...
- 使用Attribute限制Action只接受Ajax请求
原博文 https://www.cnblogs.com/h82258652/p/3939365.html 代码 /// <summary> /// 仅允许Ajax操作 /// </s ...
- (十四)、shell脚本之shell基础(上)
一.shell脚本介绍 1.使用脚本的原因 其中使用脚本的一个最主要的原因是因为一个字"懒",在处理自动循环或者大的任务方面可以偷懒且省时间,如果有处理一个任务的命令清单,一个任务 ...
- (四)linux的常用环境变量及设置
一.为什么要设置环境变量 1.环境变量能解决什么问题? 你是否经历过输入$python命令后,屏幕上打印出python:command not found的尴尬:每一次都要输入$/home/tools ...
- [leetcode]449. Serialize and Deserialize BST设计BST的编解码
这道题学到了东西. /* 一开始想着中序遍历,但是解码的时候才发现,中序遍历并不能唯一得确定二叉树. 后来看了网上的答案,发现先序遍历是可以的,观察了一下,对于BST,先序遍历确实是可以 唯一得确定. ...