我对网络开发相当新,而Django也非常关注我.我打算在Django中创建一个相当简单的网站,这是我可以管理的部分.
我正在寻找构建一些基本的2D游戏,我完全理解你可以在flash或作为java web应用程序轻松管理它,但我希望在python中实现它们.我已经做了一些研究,但我是空白的,是否有一种直接的方式来创建可以轻松与django集成的2D网页游戏?
我希望用Python构建这些游戏,以便用户可以再次使用Python为游戏编写自己的个人AI,并相互竞争.作为一个竞争/学习练习.
如果事实证明这是一个愚蠢的问题,请提前致谢并对不起.
概括
我正在尝试使用 S3 和 CloudFront 上的静态网站托管来设置 Next.js。在大多数情况下它有效,但我在动态路由方面遇到了麻烦。
我的目录结构是这样的。
pages/
index.js
about.js
[id].js
Run Code Online (Sandbox Code Playgroud)
目前我的 Next.js 配置设置为trailingSlash: true这样,当我运行next build && next export导出的静态文件时,如下所示。
out/
index.html
about/
index.html
[id]/
index.html
Run Code Online (Sandbox Code Playgroud)
这意味着当我访问“123456.cloudfront.net”或“123456.cloudfront.net/about/”时index.html显示正确。但是,当我访问“123456.cloudfront.net/1/”时,我显然收到一条错误消息而不是out/[id]/index.html.
注意事项
id 页面会定期添加、删除和更新,因此我不想在构建时使用getStaticPropsand生成它们getStaticPaths。
我考虑过的解决方案
out/index.html,希望它能加载主页、运行 JavaScript、识别路径并最终显示正确的[id]页面,但它只是停留在主页上。我错过了什么吗?
阿罗哈大家,
假设我有一个列表,我想列出该列表中的项目,然后打印出来,然后我会这样做.
list = ['a', 'b', 'c']
for item in list:
print item
Run Code Online (Sandbox Code Playgroud)
这应该导致这一点.
a
b
c
Run Code Online (Sandbox Code Playgroud)
很简单.
我的问题是,当某个事件发生时,例如达到'b',那么我希望循环继续迭代,但从它刚刚达到的点再次开始.因此输出就是这个.
a
b
b
c
Run Code Online (Sandbox Code Playgroud)
我试过一个解决方案,但是没有用.
list = ['a', 'b', 'c']
for item in list:
print item
index = list.index(item)
if item == 'b':
item = list[index - 1]
Run Code Online (Sandbox Code Playgroud)
我曾希望这会将项目设置为'a',因此下一次迭代将继续回到'b',但事实并非如此.
在此先感谢您的帮助.
在"面板"页面上,我有一个选择字段,其中包含已上传的文档列表或"机器人",因为我通常会引用它们.此列表仅显示当前用户上传的"机器人".
panel\forms.py
from django import forms
import os
from upload.models import Document
#### RETRIEVE LIST OF BOTS UPLOADED BY CURRENT USER ####
def get_files(user):
bots = Document.objects.filter(user=user.id)
file_list = []
for b in bots:
file_list.append((b.id,b.docfile))
return file_list
class botForm(forms.Form):
def __init__(self, user, *args, **kwargs):
super(botForm, self).__init__(*args, **kwargs)
self.fields['bot'] = forms.ChoiceField(choices=get_files(user))
Run Code Online (Sandbox Code Playgroud)
这很好,并显示所有用户机器人的列表.当我尝试将这些值传递到"游戏"页面并在此处访问它们时,会出现问题.
game\views.py
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from game.models import game
from game.forms import GameForm
from upload.models import Document …Run Code Online (Sandbox Code Playgroud)