相关疑难解决方法(0)

在Python中使用大写字母和数字生成随机字符串

我想生成一个大小为N的字符串.

它应由数字和大写英文字母组成,例如:

  • 6U1S75
  • 4Z4UKK
  • U911K4

我怎样才能以pythonic方式实现这一目标?

python string random

1247
推荐指数
15
解决办法
81万
查看次数

Django包生成随机字母数字字符串

我正在构建一个具有独立前端(Angular或其他JS库)和后端(Django)的应用程序.为了确保发送到服务器的请求的某些安全性,我想附加一个url参数说server/someurl?unique_id=Something-unique.

我将这个独特的代码存储在机器上localStorage一段特定的时间.但是,我想在服务器端使用某种函数设置此代码,这不仅会生成此随机字母数字文本,还会根据传入请求对其进行验证.

例如:

当用户打开应用程序时,它将发送一个server/setCode将使用此随机生成的字符串进行响应,我将Local Storage使用JS 存储该字符串.

在传出请求中,说明server/getdata?someparameter=some_data&unique_id=string_from_local_storage服务器可以针对生成函数进行验证,然后仅处理其余的URL.

是否有可以帮助我实现生成和验证的包或模块?我希望我可以传达我想要的东西,因为我无法找到任何解决方案,只能编写函数来生成和测试自己.

python django

40
推荐指数
2
解决办法
3万
查看次数

Django,自动生成独特的模型字段,并递归调用自动生成器,如果不是唯一的

我正在开发一个Django项目,除了标准的自动递增ID整数字段外,Thing将拥有一个唯一的10位密钥.我使用一个简单的随机数函数来创建它.[我确信有更好的方法可以做到这一点]

创建Thing时,会创建一个10位数的Key.我使用.validate_unique()来检查Key的唯一性.如果它不是唯一的,有没有一种简单的方法可以递归调用Key生成器(makeKey())直到它通过?代码如下:

Models.py:

class Thing(models.Model):
    name=models.CharField(max_length=50)
    key=models.IntegerField(unique=True)
Run Code Online (Sandbox Code Playgroud)

Views.py:

def makeKey():
    key=''
    while len(key)<10:
        n=random.randint(0,9)
        key+=`n`
    k=int(key)
    #k=1234567890   #for testing uniqueness
    return k

def createThing(request):
    if ( request.method == 'POST' ):
    f = ThingForm(request.POST)
try:
    f.is_valid()
    newF=f.save(commit=False)
    newF.key=makeKey()
    newF.validate_unique(exclude=None)
    newF.save()
    return HttpResponseRedirect(redirect)

except Exception, error:
    print "Failed in register", error
    else:
        f = ThingForm()
    return render_to_response('thing_form.html', {'f': f})
Run Code Online (Sandbox Code Playgroud)

谢谢

django validation model unique

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

标签 统计

django ×2

python ×2

model ×1

random ×1

string ×1

unique ×1

validation ×1