如何使用通过 Google Colab 笔记本运行的 Django 服务器在 HTML 文档之间进行通信?

2023-12-22

我想尝试一下tutorial https://youtu.be/WNvxR8RFzBg并反映输入Home.html,这是它们的总和result.html使用在 Google Colab 笔记本中运行的 Django Server。

我可以在 Google Colab 介质中成功运行 Django 服务器,如下所示截屏 https://i.imgur.com/zEY1CbN.jpg你只需要manually set ALLOWED_HOSTS = ['colab.research.google.com'] in settings.py一旦你安装完成django /questions/tagged/django您集群中的库。

问题是我无法沟通和反映结果Home.html以及它们的总和result.html.

I saw in the Tutorial the browser of the local machine when opening HTML docs are: img

我尝试按照设置进行操作,但我仍然可以弄清楚如何在 Google Colab 介质中由 Django 运行的 HTML 文档之间进行通信。我想我已经接近解决方案了,但我仍然无法管理它。

ALLOWED_HOSTS = ['127.0.0.1', 'localhost']

请随时访问notebook https://colab.research.google.com/drive/12zdPUgaMxj-ilv6n_VWT9YmQiXVysBBC?usp=sharing以便快速排除故障。

您可以使用 Windows 快速创建 HTML 文档notepad /questions/tagged/notepad并保存它们.html.

home.html或从此下载link https://drive.google.com/file/d/1xFKNJpWsNrdHVfGHpGWrhVdN7Dt-Pw64/view?usp=sharing:

<h2> Welcome to my Web </h2>

<form action="result">
    <input type="number" name="no1" placeholder="input1"/>
    <input type="number" name="no2" placeholder="input2"/>
    <input type="submit"/>
</form>

result.html或从此下载link https://drive.google.com/file/d/12bC7heFKD_UDqRvwTbxmThpDi_Wrtwul/view?usp=sharing::

<h1>{{ answer }}</h1>

以下代码在 Google Colab 笔记本中用于反映以下输入Home.html求和后为result.html使用在 Google Colab 集群中运行的 Django Server。在运行 Pythonic 代码之前,HTML 文档也会更新并在集群中可用。

from django.shortcuts import render, HttpResponse

# Create your views here
def home(request):
  return render(request, 'http://127.0.0.1:8000/home.html')

def result(request):
  no1 = int(request.GET.get('no1') )
  no2 = int(request.Get.get('no2') )

  answer = no1 + no2

  return render(request, 'http://127.0.0.1:8000/result.html', {'answer' : answer})

运行此单元格后:

!python /content/portfolio/manage.py runserver 8000
#Watching for file changes with StatReloader
#Performing system checks...

#System check identified no issues (0 silenced).

#You have 18 unapplied migration(s). Your project may not work properly #until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
#Run 'python manage.py migrate' to apply them.
#June 23, 2023 - 13:23:03
#Django version 4.2.2, using settings 'portfolio.settings'
#Starting development server at http://127.0.0.1:8000/
#Quit the server with CONTROL-C.

#[23/Jun/2023 13:23:03] "GET / HTTP/1.1" 200 10664
#Not Found: /favicon.ico
#[23/Jun/2023 13:23:04] "GET /favicon.ico HTTP/1.1" 404 2124
#[23/Jun/2023 13:28:07] "GET / HTTP/1.1" 200 10664
#Not Found: /favicon.ico
#[23/Jun/2023 13:28:08] "GET /favicon.ico HTTP/1.1" 404 2124

当我点击http://127.0.0.1:8000/ http://127.0.0.1:8000/给我

此站点无法访问 127.0.0.1 拒绝连接。

我仔细检查了代理设置,以确保我没有通过以下方式使用代理服务器:转到 Chrome 菜单 > 设置 > 显示高级设置... > 更改代理设置... > LAN 设置和deselect“为您的 LAN 使用代理服务器”。

如果我单击上一行生成的地址:

from google.colab.output import eval_js
print(eval_js("google.colab.kernel.proxyPort(8000)"))
#https://XXXXXXXX-XXXXXXXXXXXXX-8000-colab.googleusercontent.com/

I have : img

我试图将求和输入 (10 + 20) 反映到result.html不成功:http://127.0.0.1:8000/result?no1=10&no2=20并再次得到:

此站点无法访问 127.0.0.1 拒绝连接。

如果有人能指导我如何在 [Google Colab] 中练习 Django,我将不胜感激(https://colab.research.google.com/ https://colab.research.google.com/)实践中的媒介?我找到这个post https://stackoverflow.com/q/60571301/10452700,但不确定是否是这样!

Edit1:今天,我尝试使用这个answer https://stackoverflow.com/a/46026551/10452700通过设置settings.py不成功:

ALLOWED_HOSTS = ['*']
# start Django server using 
#!python manage.py runserver 127.0.0.1:8000
!python manage.py runserver 0.0.0.0:8000

PS:我还在我的机器上激活了Localhost:截屏 https://i.imgur.com/O3IxG24.jpg


Edit2: I feel that probably instead of inserting 127.0.0.1:8000 in my browser, I need to insert https://XXXXXXXX-XXXXXXXXXXXXX-8000-colab.googleusercontent.com/ I think I also need to include some URL mapping https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Home_page#url_mapping in urls.py using TemplateView https://docs.djangoproject.com/en/2.0/topics/class-based-views/ based on this answer https://stackoverflow.com/a/50047075/10452700: img

from django.contrib import admin
from django.views.generic import
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('home/', TemplateView.as_view(template_name="home.html"))

但到目前为止,我仍然无法修复和建立 HTML 页面 并得到301 HTTP 错误在 Django 服务器状态中


我假设你想要做的是将 google colab 的内核的本地主机暴露到互联网上,对吧?为了实现这一点,有很多服务,通常我使用 ngrok,但由于某种原因我无法让它在 google colab 中工作,所以在我的示例中,我将使用本地隧道 https://theboroer.github.io/localtunnel-www/为了这。

您要做的第一件事是运行 shell,直到出现以下单元格:

%cd portfolio/

该 shell 运行后,现在转到左侧面板,然后转到portfolio/portfolio/settings.py。双击该文件,然后找到这一行:

ALLOWED_HOSTS = []

然后将其更新为:

ALLOWED_HOSTS = ['*']

然后您应该修改 django 服务器的运行方式,以便它使用以下代码在后台运行:

!nohup python /content/portfolio/manage.py runserver localhost:8000 &
!echo ""

然后就在那条线之后,我们可以开始挖掘隧道localhost:8000对于 localtunnel,使用以下代码:

!npm install -g localtunnel

!rm nohup.out
!echo ""

!nohup lt --port 8000 &
!sleep 2 &
!echo "$(<nohup.out )" &
!echo "Endpoint IP:" &
!curl ipv4.icanhazip.com

修改它们后,您可以运行之后的所有单元格%cd portfolio/细胞。一旦您到达本地隧道单元并运行它,您将看到一个 URL 和一个 IP,如下所示:

your url is: https://something-something-something.loca.lt
Endpoint IP:
34.125.224.107

你可以用那个URL访问,但是你会被要求输入一个IP,你可以看到URL下面会有一个IP,然后将该IP复制并粘贴到URL中,瞧。

Here is the updated notebook: Open In Colab

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用通过 Google Colab 笔记本运行的 Django 服务器在 HTML 文档之间进行通信? 的相关文章

  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • 悬停此元素时隐藏元素后的伪元素

    我的菜单垂直放置在页面左侧和菜单之间 li 我有一个 after那是一个分隔符 我想要的是当我悬停元素本身 如果它是第一个元素 时隐藏 after 元素 或者当它是中间元素时隐藏上面和底部的元素 如果它是最后一个子元素 则隐藏 after前
  • Twitter 卡元标签问题

    有问题的网址 https www halleonard com viewpressreleasedetail action releaseid 10261 https www halleonard com viewpressreleased
  • 图像无法在带有 DOM 的 IE 中加载:控制台中的 7009 错误(无法解码)

    当在 IE 中的单个页面上加载许多图像时 在 IE11 中重现 其中一些图像开始加载失败 并在控制台中出现类似以下警告的内容 DOM7009 无法解码 URL 处的图像 某些唯一的 url 当我查看网络流量时 似乎确实从服务器收到了每个图像
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • 如何让 Django 和 ReactJS 协同工作?

    New to Django and even newer to ReactJS I have been looking into AngularJS and ReactJS but decided on ReactJS It seemed
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • 检查 jQuery 1.7 中是否存在基于文本的选择选项

    所以我有以下 HTML 片段
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 图像背景不透明度不影响边框

    如何设置背景不透明度而不影响边框线不透明度 我找到的解决方案没有帮助 div class selected img src assets img image product 1 thumbnail jpg alt product 1 thu
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2

随机推荐