Допустимый вариант использования для django администратора?

В вашем цикле v-for, m является объектом {lat: ..., lng: ...}.

Эти объекты не обладают свойством position, поэтому измените

:position="m.position"
@click="center=m.position"

на

:position="m"
@click="center=m"
11
задан Fabian Steeg 31 January 2009 в 17:14
поделиться

6 ответов

Нет, администратор Django не подходит для профилей отдельного пользователя, каждый пользователь смог бы видеть, и отредактировать, все другие профили пользователей. Это подходит больше администратору, который должен управлять всеми пользователями сразу.

То, что необходимо создать, является страницей профиля пользователя. У Django уже есть хорошая системная любезность входа в систему django.contrib.auth модуля. Можно легко интегрировать это в страницы и точно что администраторское использование Django аутентифицировать пользователей.

Затем необходимо будет создать простую страницу, которая выставляет информацию о профиле того определенного пользователя на основе их модели User. Это должно быть относительно безболезненным, поскольку будут только требоваться одно представление и один шаблон, и шаблон может использовать в своих интересах ModelForms.

17
ответ дан 3 December 2019 в 02:53
поделиться

Я предложил бы, чтобы Вы создали модель Person, которая содержит OneToOneField к модели User (Администраторская модель User сайта.). Некоторые, что как это..

from django.contrib.auth.models import User

    class Person(models.Model):
        """The person class FKs to the User class and contains additional user information
        including userImage, country, etc"""

        user = models.OneToOneField(User, related_name='person_fk')
        url = models.URLField(max_length=255, blank=True)
        country = models.CharField(max_length=2, blank=True)
        state = models.CharField(max_length=50, blank=True)
        zipCode = models.IntegerField(max_length=7, blank=True, null=True)
        userImage = models.ImageField(upload_to=generate_filename, blank=True, null=True)
5
ответ дан 3 December 2019 в 02:53
поделиться

Я не считал бы изменение моего персонального профиля на веб-сайте задачей администрирования. Я думаю, что django-профили - то, что Вы ищете.

3
ответ дан 3 December 2019 в 02:53
поделиться

Модель Django для авторизации немного слишком упрощенна. Это - просто проверки на разрешение на Модели в целом.

Для такого рода вещи Вы в значительной степени вынуждены записать свои собственные функции представления, которые обрабатывают дополнительную проверку.

После записи один или два Вы будете видеть шаблон. Затем можно думать о записи собственному декоратору обрабатывать это.

def profileView( request, object_id ):
    p= Profile.objects.get( id=int(object_id) )
    if request.session['user'] != p.get_user():
        # respond with a 401 not authorized or a helpful message
    # process normally, since the session['user'] is the user for the Profile.

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

3
ответ дан 3 December 2019 в 02:53
поделиться

Только для ссылки, вот отрывок, демонстрирующий, как можно довольно легко достигнуть этого эффекта (пользователи могут только отредактировать свои "собственные" объекты) в администраторе Django. Протест: Я не рекомендовал бы делать это для профилей пользователей, это будет легче и более гибким, чтобы просто создать Ваше собственное представление редактирования с помощью ModelForm.

1
ответ дан 3 December 2019 в 02:53
поделиться

Существует несколько django сменных приложений, которые позволяют полномочия уровня строки на Вашей администраторской модели. Однако я был бы более склонен записать свое собственное представление, которое позволяет пользователям делать это из приложения.

У меня были подобные стремления (использующий администратора contrib) при разработке приложения, я в настоящее время продолжаю работать, но решил, что приложение администрирования действительно для администраторского использования, и что обычным пользователям нужно дать их собственные страницы, чтобы сделать работу и удовлетворение требованиям заказчика (при необходимости).

Можно легко генерировать представления CRUD для конкретной модели с помощью универсальных представлений и modelforms, и просто применить таблицы стилей для последовательного взгляда с остальной частью приложения.

1
ответ дан 3 December 2019 в 02:53
поделиться
Другие вопросы по тегам:

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