首页 > 解决方案 > 在 python 本地主机服务器上进行测试将我带到目录

问题描述

当我的用户/名称文件夹中有所有适当的文件时,我需要帮助理解为什么我的本地主机服务器会出现一个目录。

我正在尝试使用来自 codepen 的简单条形图来测试本地主机,但是当我运行服务器时,我只是遇到了一个目录列表,但是 html、css 和 js 的链接在那里。我的文件夹中是否缺少某些内容,或者某处可能丢失了连接。我的 python 知识非常基础,所以任何帮助都将不胜感激

HTML

<div class="chart"></div>
<script src="https://d3js.org/d3.v3.min.js"  charset="utf-8"></script>

代码

var data = [4, 8, 15, 16, 23, 42];

 var x = d3.scale.linear()
     .domain([0, d3.max(data)])
     .range([0, 420]);

d3.select(".chart")
   .selectAll("div")
    .data(data)
   .enter().append("div")
     .style("width", function(d) { return x(d) + "px"; })
     .text(function(d) { return d; });

CSS

.chart div {
  font: 10px sans-serif;
  background-color: steelblue;
  text-align: right;
  padding: 3px;
  margin: 1px;
  color: white;
}

命令

C:\Users\name>python -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
xxx.0.0.1 - - [09/Oct/2018 11:57:09] "GET / HTTP/1.1" 200 -
xxx.0.0.1 - - [09/Oct/2018 11:57:27] "GET /Java.js HTTP/1.1" 200 -
xxx.0.0.1 - - [09/Oct/2018 11:57:35] "GET /css.css HTTP/1.1" 304 -

标签: pythonpython-3.xserverlocalhost

解决方案


来自Python 3文档;

do_GET() 通过将请求解释为相对于当前工作目录的路径,请求被映射到本地文件。

如果请求被映射到一个目录,则检查该目录是否有名为 index.html 或 index.htm 的文件(按此顺序)。如果找到,则返回文件的内容;否则通过调用 list_directory() 方法生成目录列表。

因此,由于您没有index.html文件(或配置为充当主页的任何其他文件),服务器会改为列出根目录内容。简单的解决方案是将您的html文件命名为index.html并将其放在服务器的根目录中,然后按照分步指南设置简单的 Python Web 服务器,例如. 希望有帮助。


推荐阅读