Вам необходимо добавить {% csrf_token %}
в форму:
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="data_file"/>
<input type="submit" value="upload"/>
</form>
If you declare the variable outside of any function as
var myVar = 'test';
or at any location as
myVar = 'test';
or
window.myVar = 'test';
It should be added to the Global Object (window) and be available anywhere as
alert(myVar);
or
alert(window.myVar);
or
alert(window['myVar']);
Он выдаст предупреждение, содержащее «test».
Все переменные, объявленные на верхнем уровне в JavaScript, совместно используют та же сфера Если вы хотите использовать переменные в одном файле, которые не будут конфликтовать с другим, то вы можете использовать анонимную функцию, чтобы ввести новую область видимости:
var myVar = "something else";
(function () {var myVar = "test"; alert(myVar)})();
alert(myVar);
edit : Как указывает BYK, вы можете расширить это во что-то, что напоминает полноценное пространство имен, назначая литерал объекта:
var MyNamespace = (function () {
var myVar = "something";
return { alert: function() { alert(myVar) },
setVar: function(value) { myVar = value } }
})();
Когда вы объявляете переменную или функцию в своем коде, вы создаете свойство окна window
. Рассмотрим следующие примеры:
var a = 'Cow';
alert(window.a); // Cow
alert(this.a); // Cow
alert(a); // Cow
Если вы объявите переменную внутри функции, ваша переменная не будет доступна извне, если вы не добавите ее в объект window
:
function lalala() {
alert(a); // still Cow
a = 'Pig'; // We're tired of cows by now. Let's make it a pig.
var b = 'Sheep';
}
lalala();
alert(a); // Pig
alert(b); // undefined, since b is declared in the lalala scope
Таким образом, ваш пример будет оповещение тест
.