gpt4 book ai didi

python - Django:如何将随机函数生成的变量存储在数据库中?

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:52 25 4
gpt4 key购买 nike

我的 Web 应用程序位于 django 中,每次用户按下“下一步”按钮时,它都会显示随机图像。我尝试存储名称或更好地存储与其名称相连的图像的编号。例如,如果名称是“image4.jpg”,那么我想将数字 4 存储为数字或文本。

所以,首先我在 models.py 文件中有一个类。

class Session(User):
image_number = models.IntegerField()

变量的类型可能是错误的,因为我不想从表单中获取它。我在views.py 文件中生成数字。所以,我只想存储它。

正如我所说,views.py 文件中有一个函数可以生成随机数。

def func_random(self):
random_im_list = random.sample(xrange(1,20),5)
return {1v: random_im_list[0],
2v: random_im_list[1],
... etc}

所以,这里我生成了一个包含 5 个数字的列表,因为我想在每个 session 中显示 5 个图像。用户按“下一步”按钮 5 次,每次他都可以看到一个新的随机图像。

我还在views.py 中为五个页面设置了五个类。

class Image1(Page):

class Image2(Page):

class Image3(Page):

class Image4(Page):

class Image5(Page):

这里我需要一些帮助,因为我不等待用户的任何输入。我已经生成了包含随机数的列表。那么,如何将它们存储在数据库中呢?第一个 session 后的数据库必须有 5 列,每列一个数字。

之后我就有了模板文件:

    {% if Page == 1 %}

<div>
<im src="{{static_url}}images/image{{ 1v }}.jpg" />
<div>
{% elif Page == 2 %}
<div>
<im src="{{static_url}}images/image{{ 2v }}.jpg" />
<div>

etc....

最佳答案

对于您来说,拥有一个将图像编号作为参数的单一 View 可能更有意义。然后,您可以检查它是否是第一张图像,如果是,则生成随机图像列表供用户查看。另外,您应该考虑使用 Django sessions为了你想做的事。如果您使用 session ,您可以这样编写 View :

from django.shortcuts import render

def image_view(request, image_number): # image_number is from 1 to 5
if image_number == 1:
request.session['image_list'] = list(random.sample(xrange(1,20),5))
image = request.session['image_list'][image_number - 1]
return render(request, "yourtemplate.html", {"image_number": image_number, "image": image})

您的模板可能如下所示:

<div>
<img src="{{static_url}}images/image{{ image }}.jpg" />
</div>

在 URL 配置中,请确保像这样编写,以便您的 View 能够通过图像编号正确参数化:

urlpatterns = [
url(r'^images/([1-5])/$', views.image_view),
# ...
]

关于python - Django:如何将随机函数生成的变量存储在数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35001232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com