0

シンプルで動的な数独ゲームを作成したいと思います。アイデアは、1 時間ごとに新しい「パズル」を作成し、それをデータベースに入れ、ユーザーに解いてもらうことです。各解決試行は、検証のためにデータベースと比較されます。そのために、パズルを生成してデータベースに入れる Python スクリプトを作成したいと思います。モデルに設定された私のデータベースは次のようになります。

from django.db import models

class user(models.Model):
    name = models.CharField(max_length=30)
    password = models.CharField(max_length=30)
    time_registered=models.DateTimeField()
    time_uploaded=models.DateTimeField()
    points=models.IntegerField()
    saved_sudoku=models.CommaSeparatedIntegerField(max_length=81)
    solved=models.BooleanField()

    def __str__(self):
        return self.name

class server_sudoku(models.Model):
    time_uploaded=models.DateTimeField()
    generated_sudoku=models.CommaSeparatedIntegerField(max_length=81)

今、私が使用するとき:

name1=request.POST["name"]
pass1=request.POST["password"]
newuser=user(name=name1,password=pass1,time_registered=datetime.datetime.now(),time_uploaded=datetime.datetime.now(),points=0,saved_sudoku="",solved=False)
newuser.save()

views.py で新しいユーザーを作成します。そこで、私のアイデアを検証するために、アプリケーション「generate_sudoku.py」を作成しました。データベースへの接続をテストするには、ユーザーを追加してみます。コードは次のようになります。

#!/usr/bin/env python
from db_interface.models import user

import random
import datetime

newuser=user(name="name", password="pass", time_registered=datetime.datetime.now() ,time_uploaded=datetime.datetime.now(), points=0, saved_sudoku="", solved=False)
newuser.save()

この単純なアプリでは、次のエラーが表示されます。

raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

明確にしたいと思いますが、このアプリケーションを Windows スケジューラで実行して、1 時間ごとに自動的に実行されるようにしたいと思います...

4

2 に答える 2

3

カスタムの manage.py コマンドを使用します。

于 2012-06-09T17:59:32.867 に答える
0

Google の最初のリンク: http://eliasbland.wordpress.com/2010/01/25/importerror-settings-cannot-be-imported-because-environment-variable-django_settings_module-is-undefined/ ;)

これは私にとってはうまくいきます(_ _init _ _.pyファイルではなく、ラムダスクリプトで):

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

from django.contrib.auth.models import User #import django stuff after
print User.objects.all()
于 2012-06-09T17:54:07.863 に答える