python - 如何使用 Python 设置本地 HTTP 服务器

标签 python d3.js

我正在尝试进行一些基本的 D3 编程。我正在阅读的所有书籍都在谈论设置本地 http 服务器,而这正是我发现自己陷入困境的地方。我输入了以下内容

python -m http.server 

托管本地服务器。现在,我的问题是如何在此本地服务器中打开我的 html 文件?我什至不知道如何在命令提示符下找到该文件。任何帮助将不胜感激。以下是我在aptana上的html文件代码。我还将 d3.js 文件放在 aptana 中。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>
            D3 Page Template
        </title>
        <script type="text/javascript" src="d3.js"></script>
    </head>
    <script type="text/javascript">
        //D3 codes will go here
    </script>
</html>

当我运行 aptana 时,html 文件在常规 firefox 页面中打开。我希望它在本地托管的 http 服务器页面中打开。任何提示。

最佳答案

答案在您启动服务器时提供。在您拥有 HTML 文件的同一目录中,启动服务器:

$ python -m http.server
Serving HTTP on 0.0.0.0 port 8000 ...

(或者,Python2 咒语)

$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

在此消息中,Python 告诉您 IP 地址 (0.0.0.0) 和端口号 (8000)。

因此,如果文件名为 d3_template.html,您可以通过 http://0.0.0.0:8000/d3_template.html

访问此页面

在大多数机器上你应该也可以使用

http://localhost:8000/d3_template.html 或者 http://127.0.0.1:8000/d3_template.html

如果您遇到这样的错误:

socket.error: [Errno 48] 地址已在使用中

您想使用不同的端口:

$ python -m http.server 8888

加载文件:

http://0.0.0.0:8888/d3_template.html

要了解所有这些工作的原因,您需要了解一些网络知识(端口、DNS、环回接口(interface)、多个网卡在同一台机器上的行为方式,如果事情没有按预期工作,防火墙、受限端口以及谁知道还有什么)。

关于python - 如何使用 Python 设置本地 HTTP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27977972/

相关文章:

python - 有没有办法在 python 中动态创建/修改函数

javascript - d3 未定义 - ReferenceError

javascript - 来自 id 的 D3.js csv 数据,正确的方法吗?

javascript - 如何在 d3.js 中的兄弟元素之后插入

python - __init__ 可以用作正常的初始化方法,而不是构造函数吗?

python - 寻找最大派系并删除节点?

python - 为乌鸦添加自定义标签

python - 如何调用循环中生成的变量

javascript - 当键是用户输入时,我应该如何使用 map 来获取对象的一些值

javascript - 将 json 中的文本分成多行以在 D3 强制布局中显示标签