Поскольку django может быть выполнен несколькими способами, и только modpython дает Вам тесную интеграцию с Apache, я не полагаю, что существует путь к django для входа, Вы в основном на основной подлинной аутентификации Apache должны действительно быть сделаны на прикладном уровне, поскольку это даст Вам намного больше контроля и будет более простым. Вы действительно не хотите стычку совместного использования userdata между Python и Apache.
, Если Вы не возражаете использовать исправленную версию Django тогда, существует патч в http://www.djangosnippets.org/snippets/56/ , который даст Вам некоторое промежуточное программное обеспечение для поддержки основного автора
, Основной автор действительно довольно прост - если пользователь не зарегистрирован, Вы возвращаетесь, 401 аутентификация потребовала кода статуса. Это запрашивает браузер отображать поле входа в систему. Браузер тогда предоставит имя пользователя и пароль как bas64 закодированные строки. Статья в Википедии http://en.wikipedia.org/wiki/Basic_access_authentication довольно хороша.
, Если патч не делает то, что Вы хотите тогда, Вы могли реализовать основного автора сами вполне быстро.
Почему бы просто не использовать преобразователь, который принимает объект и возвращает строку типа объекта?
Binding = "{Binding SelectedItem, Converter = {StaticResource ObjectToTypeString}}"
и определить преобразователь как :
public class ObjectToTypeStringConverter : IValueConverter
{
public object Convert(
object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
return value.GetType().Name;
}
public object ConvertBack(
object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
// I don't think you'll need this
throw new Exception("Can't convert back");
}
}
Вам нужно будет объявить статический ресурс где-нибудь в вашем xaml:
<Window.Resources>
<convs:ObjectToTypeStringConverter x:Key="ObjectToTypeString" />
</Window.Resources>
Где «convs» в данном случае - это пространство имен, в котором находится конвертер.
Надеюсь, это поможет.
Использование преобразователя, предложенного AndyG, является хорошим вариантом. В качестве альтернативы вы также можете использовать разные DataTemplate
для каждого типа цели. WPF автоматически выберет DataTemplate
, соответствующий типу объекта