0

我想创建一个简单的动态数独游戏。想法是每小时创建新的“谜题”,然后将其放入数据库并让用户解决它。每次求解尝试都会与数据库进行比较以进行验证。为此,我想创建生成拼图并将其放入数据库的 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 调度程序运行这个应用程序,以便它每小时自动运行一次......

4

2 回答 2

3

使用自定义 manage.py 命令

于 2012-06-09T17:59:32.867 回答
0

谷歌上的第一个链接:http: //eliasbland.wordpress.com/2010/01/25/importerror-settings-cannot-be-imported-because-environment-variable-django_settings_module-is-undefined/;)

这对我有用(在 lambda 脚本中,而不是 _ _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 回答