'getattr (): название атрибута должно быть строкой' ошибка в панели администрации для модели с ImageField

Ну, так как это сообщение перестало работать плохо, я должен был вырыть в вопрос сам.

Также проверяют другие ответы и комментарии для получения дополнительной информации относительно других версий и т.д.

РЕДАКТИРОВАНИЕ: Так как я отправил этот Q, кажется, существует сборные двоичные файлы, сделанные доступный от вихревой домашней страницы. Выезд ответ James .

, Таким образом, здесь идет:

-

Препроцессор

следующие два символа должны питаться к препроцессору для включения SSL для libcurl:

USE_SSLEAY
USE_OPENSSL

(libcurl использует OpenSSL для поддержки SSL)

, Кроме того, символы могут быть добавлены непосредственно к файлу, названному setup.h в libcurl, но я не слишком доволен изменением кода в сторонних дистрибутивах, если я действительно не имею к.

Восстановление libcurl библиотеки, я теперь добрался, некоторые ошибки о OpenSSL включают файлы, не находимые. Естественно, так как я правильно еще не настроил распределение OpenSSL.

Компиляция двоичные файлы OpenSSL

я загрузил исходное распределение OpenSSL 0.9.8 и распаковал его.

В корне исходного распределения существует файл под названием Установка W32, которая описывает, как скомпилировать двоичные файлы OpenSSL. Цепочка сборки требует жемчуга, таким образом, я установил последнюю версию ActivePerl.

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

Согласно Установке W32:

Выполнение следующие задачи командной строки с набором текущего каталога к исходному корню распределения:

1> perl Configure VC-WIN32 --prefix=c:/some/openssl/dir

(Где "c:/some/openssl/dir" должен быть заменен dir, где OpenSSL должен быть установлен. Не используйте пробелы в этом пути. Компиляция далее вперед перестанет работать в этом случае)

2> ms\do_ms

Для меня, этот шаг был неудачен сначала, так как я испытал недостаток в переменных среды OSVERSION и TARGETCPU. Я установил их на 01.05.2600 и x86 соответственно. Можно получить жалобу на OSVERSION быть "безумным", но выглядеть ближе, эта ошибка для WinCE и не влияет на установку Win32. Для овладения версией ОС выполните команду 'ver' от командной строки или выполните winver.exe.

3> nmake -f ms\nt.mak (for static library)

или

3> nmake -f ms\ntdll.mak (for DLL)

источник теперь компилирует. Занял приблизительно 5 минут на моем ноутбуке.

, Когда компиляция завершается, освобождение или двоичные файлы были помещены в:

distroot/out32 - для статической сборки библиотеки

или

distroot/out32dll - для сборки DLL

Здание и соединение

Теперь, назад к Visual Studio и указывают на освобождение и включают путь для заголовков. Включать файлы расположены в [1 153] distroot/inc32/openssl.

Не забывают добавлять libeay32.lib и ssleay32.lib, поскольку компоновщик ввел.

Восстанавливают libcurl проект.

Ошибка!

Хорошо, по крайней мере, для меня с этой версией OpenSSL. это жаловалось на определение типа структуры в одном из заголовков OpenSSL. Я не мог найти информацию об этом. После часа гугления я повредил свой собственный принцип и прокомментировал определение типа от заголовка OpenSSL, и к счастью libcurl не использовал тот символ, таким образом, это создало прекрасный.

Обновление: Как указано Jason, эта проблема, кажется, имеет dissapeared с версии 1.0.0a.

Теперь для подтверждения, что поддержка SSL включена для libcurl, выполните следующий код:

curl_version_info_data * vinfo = curl_version_info( CURLVERSION_NOW );
if( vinfo->features & CURL_VERSION_SSL )
    // SSL support enabled
else
    // No SSL

Простой как это.

9
задан cwj 5 November 2009 в 20:27
поделиться

2 ответа

Ваша проблема связана с height_field = 80 и width_field = 80 , они не должны содержать требуемые высоту и ширину, а должны содержать имена полей в ваша модель, в которой могут быть сохранены значения высоты и ширины.

Как объясняется в документации Django для ImagedField , это атрибуты вашей модели, которые будут заполнены для вас при сохранении модели . Если вы хотите, чтобы эта информация была заполнена для вас атрибутом создания модели, где эта информация может храниться, в противном случае просто удалите эти атрибуты, они не являются обязательными.

18
ответ дан 4 December 2019 в 08:01
поделиться

Проблема, вероятно, в следующем:

height_field=80, width_field=80

height_field и width_field , если вы их используете, должны быть именами полей модели, которые содержат информация о высоте и ширине. Исправьте это, должно сработать.

9
ответ дан 4 December 2019 в 08:01
поделиться
Другие вопросы по тегам:

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