使用 django python 从网页打开 pygame window
Open pygame window from web page with django python
我正在尝试建立一个可以玩游戏的网站。您最终将能够单击一个按钮并启动 pygame window 来玩游戏。为了测试我是否可以使用 Django 执行此操作,我尝试在转到主页时启动 pygame window 作为概念证明。但是,我无法确定如何启动 window.
这是我在 views.py 中的第一次尝试:
from .games import game
def home_page(request):
title = "Home Page"
template_name = "home.html"
if request.user.is_authenticated:
message = f'Hello there, {request.user}!'
else:
message = 'Hello there!'
game.main()
return render(request, template_name, {'title': title, 'message': message})
我的 game.py(位于 games 文件夹中,与我的 views.py:
import pygame
import sys
def main():
pygame.init()
screen = pygame.display.set_mode((50, 50))
pygame.display.set_caption("Test")
while True:
screen.fill((255, 255, 255))
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
当我 运行 服务器并尝试访问 127.0.0.1:8000(我的站点所在的位置)时,页面和 pygame window 都不会加载。当我退出服务器时,网页显示找不到站点。我认为这是因为代码从未到达我的 views.py.
的 return render(request, template_name, {'title': title, 'message': message})
部分
如何打开一个pygamewindow进入首页?
从根本上说,这种方法行不通,因为您 运行 在您的服务器上安装代码,但您希望 pygame window 出现在访问您网站的人。您的代码需要 运行 client-side。您的选择是将所有内容移出 Web 浏览器(即提供文件供用户下载,并让用户 运行 在他自己的机器上玩游戏)或以某种方式使用 JavaScript 作为中介,如 Pyodide 或 Brython。如果您想使用 pygame.
,后一种方法可能不起作用
我正在尝试建立一个可以玩游戏的网站。您最终将能够单击一个按钮并启动 pygame window 来玩游戏。为了测试我是否可以使用 Django 执行此操作,我尝试在转到主页时启动 pygame window 作为概念证明。但是,我无法确定如何启动 window.
这是我在 views.py 中的第一次尝试:
from .games import game
def home_page(request):
title = "Home Page"
template_name = "home.html"
if request.user.is_authenticated:
message = f'Hello there, {request.user}!'
else:
message = 'Hello there!'
game.main()
return render(request, template_name, {'title': title, 'message': message})
我的 game.py(位于 games 文件夹中,与我的 views.py:
import pygame
import sys
def main():
pygame.init()
screen = pygame.display.set_mode((50, 50))
pygame.display.set_caption("Test")
while True:
screen.fill((255, 255, 255))
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
当我 运行 服务器并尝试访问 127.0.0.1:8000(我的站点所在的位置)时,页面和 pygame window 都不会加载。当我退出服务器时,网页显示找不到站点。我认为这是因为代码从未到达我的 views.py.
的return render(request, template_name, {'title': title, 'message': message})
部分
如何打开一个pygamewindow进入首页?
从根本上说,这种方法行不通,因为您 运行 在您的服务器上安装代码,但您希望 pygame window 出现在访问您网站的人。您的代码需要 运行 client-side。您的选择是将所有内容移出 Web 浏览器(即提供文件供用户下载,并让用户 运行 在他自己的机器上玩游戏)或以某种方式使用 JavaScript 作为中介,如 Pyodide 或 Brython。如果您想使用 pygame.
,后一种方法可能不起作用