快速提问如何将 .env conf 文件放入服务器。我的项目库中有三个设置文件,开发,生产。我认为测试和分期是一种矫枉过正
鼓励将 .env 放在 .gitignore 文件中。所以它不会被包含在版本控制中。在 Heroku 中,很容易在设置选项卡中设置环境变量。没有这种功能的其他托管服务呢?因为我推送到我的存储库并从服务器拉取,我怎么想获取存储在 .env 中的 API 密钥,因为它会忽略它(它在 gitignore 中)文件?我应该在服务器中创建吗?或者有没有办法做到?新手问题我知道。
如何向 django-oscar 仪表板添加附加字段?我已经分叉目录应用程序添加了一个额外的字段,但在分叉仪表板后未显示表单。
from django.db import models
from oscar.apps.catalogue.abstract_models import AbstractProduct
class Product(AbstractProduct):
file = models.FileField(upload_to='files/%Y/%m/%d')
from oscar.apps.catalogue.models import *
Run Code Online (Sandbox Code Playgroud)
仪表板/目录/forms.py
from oscar.apps.dashboard.catalogue import forms as base_forms
class ProductForm(base_forms.ProductForm):
class Meta(base_forms.ProductForm.Meta):
fields = ('file',)
Run Code Online (Sandbox Code Playgroud) 我有一些输入片段,当满足条件时,我会渲染到 html 页面,除了文件类型的输入之外,一切正常,我想在发生更改时上传文件,但文件对象不在 request.FILES 中,它现在在 request.POST 中我不介意它是 request.POST 但文件显示为'multiple': ['[object File]']
我的部分模板
<div class="my-2">
<div id="uploaded"></div>
<p class="lead">{{question.prompt}}</p>
<input name="multiple" type="file" accept="image/*, .pdf" id="image_{{question.id}}"
{% if question.required %}required{% endif %} {% if question.disabled %}disabled{% endif %} class="form-control"
placeholder="{{question.placeholder}}" hx-post="{% url 'survey:file_multiple' %}" hx-trigger="change">
<input type="hidden" name="filemultipleId"
value="{% if question.form_input_type == 'file-multiple' %}{{question.id}}{% endif %}">
</div>
Run Code Online (Sandbox Code Playgroud)
我没有使用 django 表单渲染表单,因为实现我正在寻找的动态性将是困难且几乎不可能的
request.POST 查询字典
<QueryDict: {'csrfmiddlewaretoken': ['TiLZFEWw88cqItD8MABv6lZKYDrNaVxGF4ZMDOV3sK43540z6uOcrx5uQO6iYldA', 'date': [''], 'dateId': ['20', '5'], 'multiple': ['[object File]'], 'filemultipleId': ['18'], 'fileId': ['17']}>
Run Code Online (Sandbox Code Playgroud)
追溯
Internal Server Error: …Run Code Online (Sandbox Code Playgroud) 我遇到了问题,我不知道这是否可行,但我想做的是多次调用一个函数。这个想法是我正在为门票生成一个序列号,我有一个函数可以生成一个长度为 16 的数字:
import random
import string
def random_number_generator(size=16, numbers=string.digits):
return ''.join(random.choice(numbers) for _ in range(size))
Run Code Online (Sandbox Code Playgroud)
现在,如果我像这样运行这个函数print(random_number_generator() * 4),它将返回如下内容:
1234567890987654
1234567890987654
1234567890987654
1234567890987654
Run Code Online (Sandbox Code Playgroud)
如何使它返回不同的数字而不是相同的数字?