Предварительно заполните Django (необразцовая) форма

Ниже создается пустой каталог с именем «mydir1».

Ниже приведен код nodejs, он должен быть аналогичным для других языков.

Хитрость заключается в том, чтобы иметь косую черту (/) в конце имени объекта, как в «mydir1 /», в противном случае будет создан файл с именем «mydir1».

let AWS = require('aws-sdk');
AWS.config.loadFromPath(__dirname + '\\my-aws-config.json');
let s3 = new AWS.S3();

var params = {
    Bucket: "mybucket1",
    Key: "mydir1/",
    ServerSideEncryption: "AES256" };

s3.putObject(params, function (err, data) {
    if (err) {
        console.log(err, err.stack); // an error occurred
        return;
    } else {
        console.log(data);           // successful response
        return;
        /*
         data = {
         ETag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
         ServerSideEncryption: "AES256",
         VersionId: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt"
         }
         */
    } });

Источник: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property

53
задан Cory 1 June 2009 в 09:26
поделиться

2 ответа

Попробуйте:

form = MyForm({'charfield1': 'foo', 'charfield2': 'bar'})

Конструктор объектов Form может принимать словарь значений полей. Это создает связанную форму, которую можно использовать для проверки данных и визуализации формы как HTML с отображаемыми данными. См. документацию по API форм для получения дополнительной информации.

Изменить:

Для полноты, если вы не хотите связывать форму, и вы просто хотите объявить начальные значения для некоторых полей , вы можете вместо этого использовать следующее:

form = MyForm(initial={'charfield1': 'foo', 'charfield2': 'bar'})

Подробнее см. в документации по начальным значениям .

90
ответ дан 7 November 2019 в 08:26
поделиться

Существует два способа заполнения формы Django.

Первый - передать словарь в качестве первого аргумента при его создании (или передать его как данные ] kwarg, что одно и то же). Это то, что вы делаете, когда хотите использовать данные POST для заполнения и проверки формы.

data_dict = {'charfield1': 'data1', 'charfield2': 'data2', 'choicefield': 3}
form = MyForm(data_dict)

Однако это вызовет проверку формы, поэтому работает только в том случае, если вы действительно передаете действительный и полный данные для начала - в противном случае вы начнете с ошибок.

Другой способ заполнить форму - использовать начальный параметр (задокументированный здесь ). Это дает начальные значения для полей формы, но не запускает проверку. Поэтому это подходит, например, если вы не вводите все значения.

form = MyForm(initial=data_dict)

Чтобы заполнить поле выбора через initial , используйте значение pk.

26
ответ дан 7 November 2019 в 08:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: