小编ale*_*nes的帖子

Django网站,基本的2d python游戏

我对网络开发相当新,而Django也非常关注我.我打算在Django中创建一个相当简单的网站,这是我可以管理的部分.

我正在寻找构建一些基本的2D游戏,我完全理解你可以在flash或作为java web应用程序轻松管理它,但我希望在python中实现它们.我已经做了一些研究,但我是空白的,是否有一种直接的方式来创建可以轻松与django集成的2D网页游戏?

我希望用Python构建这些游戏,以便用户可以再次使用Python为游戏编写自己的个人AI,并相互竞争.作为一个竞争/学习练习.

如果事实证明这是一个愚蠢的问题,请提前致谢并对不起.

python django web-applications

10
推荐指数
1
解决办法
1万
查看次数

如何在静态 S3/CloudFront 网站托管上呈现动态 Next.js 路径?

概括

我正在尝试使用 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

我考虑过的解决方案

  • 我尝试将 S3 错误文档路由到out/index.html,希望它能加载主页、运行 JavaScript、识别路径并最终显示正确的[id]页面,但它只是停留在主页上。
  • 我已经考虑尝试使用 Lambda@Edge 的解决方案来加载正确的页面,但是无论何时我在应用程序中添加或更改路径,我都可能需要更新看起来很混乱的 lambda。

我错过了什么吗?

amazon-s3 amazon-cloudfront reactjs next.js

5
推荐指数
2
解决办法
1021
查看次数

在Python for循环中设置列表项

阿罗哈大家,

假设我有一个列表,我想列出该列表中的项目,然后打印出来,然后我会这样做.

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',但事实并非如此.

在此先感谢您的帮助.

python for-loop

2
推荐指数
1
解决办法
974
查看次数

'QueryDict'对象没有属性'id'

在"面板"页面上,我有一个选择字段,其中包含已上传的文档列表或"机器人",因为我通常会引用它们.此列表仅显示当前用户上传的"机器人".

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)

python django django-forms

1
推荐指数
1
解决办法
3935
查看次数