Создайте jquery.ts в том же месте, что и ваш main.ts, и вставьте в него следующее:
import * как $ из 'jquery';
[116 ] window ['jQuery'] = window ['$'] = $;
Вставьте следующее в начало вашего main.ts,
import 'jquery ';
import' popper.js ';
import' bootstrap ';
import' moment ';
import' jquery-datepicker ';
Удалите любые другие ссылки на скрипты на jquery или начальную загрузку из вашей конфигурации html или angular cli.
В Django 2 можно просто добавить поля, поскольку это была нормальная форма
class CreateCompanyForm(forms.ModelForm):
password_confirmation = forms.CharField(
label=translate('Password confirmation'),
max_length=70,
widget=forms.PasswordInput(),
required=True,
)
company_name = forms.CharField(
label="Nombre de la Compañía",
max_length=90,
widget=forms.TextInput(),
required=True,
)
class Meta:
model = AppUser
fields = (
"email",
"first_name",
"last_name",
"password",
)
Во-первых, у вас не должно быть полей artist_id и artist. Они построены по модели. Если вам нужно какое-то имя исполнителя, добавьте поле artist_name, то есть CharField .
Кроме того, вы пытаетесь получить что-то из cleaned_data внутри чистого значения. Возможно, вам не нужны данные - вы должны использовать значения из self.data, где данные непосредственно из POST.
Эта же проблема раздражала меня довольно долго, я сделал несколько тестов и обнаружил следующее:
Если библиотека (nunit в данном случае) скомпилирована с отладочной информацией «none», то если конструкция, аналогичная приведенной ниже, выполняется в библиотеке, и код делегата создает исключение, то VS перестает жаловаться на исключение, не обработанное кодом пользователя.
Код библиотеки:
public static Exception Throws(TestDelegate code, string message)
{
Exception caughtException = null;
try
{
code();
}
catch (Exception ex)
{
caughtException = ex;
}
return caughtException;
}
Код клиента:
private void btnTest_Click(object sender, EventArgs e)
{
var ex = MyAssert.Throws(() => { throw new Exception(); }, "");
}
Установка для отладочной информации проекта библиотеки любого другого параметра, отличного от «none», устраняет проблему, т.е. отладчик больше не останавливается на этих «необработанных» исключениях. Я протестировал его с помощью nunit и собственной рулонной библиотеки с приведенным выше кодом (взял фрагмент из метода nunit's Throws). Я полагаю, что это функция или «функция» VS.
Это оставляет нам не так много вариантов:
Фильтр исключение, как ранее предлагалось
Recompile nunit.framework.dll для локального использования, чтобы избежать этих раздражающих остановок
Другие варианты могут быть, чтобы связаться либо MS или NUnit команды или оба и попросить их исследовать/прояснить проблему и компилировать NUnit с минимальным уровнем отладочной информации
Изменить:
Найден еще один вариант.
Первый является обычным в коде, который начинался до 1.5. Вообще-то, другой основной идиомой было определить ваши константы в интерфейсе, потому что у них не было никакого кода.
-121--2132462-OK Я разрешил его. Похоже, что доступ к дополнительным полям с помощью cleaned_data['field_name'] вызывает KeyError, но использование cleaned_data.get («field _ name») работает. Это странно, потому что обычные поля для модели можно получить через cleaned_data['field_name'].
Обновление: Нет, это не работает. Функция get () не вызывает KeyError, но устанавливает значение None, поскольку дополнительные поля отсутствуют в cleaned_data словаре.
Вот код. В шаблонах есть автозавершение, поэтому в форме есть поле «художник», визуализированное как CharField, и скрытое IntegerField, которое будет автоматически заполнено данным идентификатором артиста. В clean_artist методе я хочу выбрать объект художника и сохранить его в поле исполнителя формы.
models.py
class Music(models.Model):
artist = models.ForeignKey(Artist, related_name='music', blank=True, null=True)
# other fields...
forms.py
class MusicForm(forms.ModelForm):
artist_id = forms.IntegerField(label="", widget=forms.HiddenInput(), required=False)
artist = forms.CharField(required=False)
# other fields ...
class Meta:
model = Music
def clean_artist(self):
if self.cleaned_data.get('artist') == '':
artist = None
else:
artist_id = self.cleaned_data.get('artist_id') # this returns always None because artist_id is not in cleaned_fields (this seemed to work with previous django versions but not with current SVN version)
if artist_id != None:
artist = Artist.objects.get(id=artist_id)
else:
artist = None
return artist