Django Admin - Создание персоналом пользователя Bulk / Импорт из файла CSV - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть вопрос.Я должен импортировать всех пользователей, которые будут разрешены в моем приложении администратора Django, из файла excel / csv.Может кто-нибудь, пожалуйста, совет, помогите мне, как я могу реализовать эту вещь в Django Admin Interface.Есть скрипт, который я могу использовать?Всем им будет разрешено войти в мое приложение Django, и все они будут автоматически сделаны штатными пользователями.

1 Ответ

0 голосов
/ 27 сентября 2018

Так что для тех, кто будет у меня на ногах, пожалуйста, посмотрите ниже, что сделал трюк!

import csv, sys, os, django


project_dir = "/parcare/src/"
sys.path.append(project_dir)
os.environ['DJANGO_SETTINGS_MODULE'] = 'adp_parking.settings'
# os.environ.setdefault("DJANGO_SETTINGS_MODULE", __file__)
import django
django.setup()


from django.contrib.auth import authenticate
from django.contrib import admin
from django.contrib.auth.models import User

from django.contrib.auth import get_user_model
from django.conf import settings
User = get_user_model()

file = 'import.csv'

data = csv.reader(open(file), delimiter=",")
for row in data:
    if row[0] != "Number":
        # Post.id = row[0]
        Post=User()
        Post.password = row[1]
        Post.last_login = "2018-09-27 05:51:42.521991"
        Post.is_superuser = "0"
        Post.username = row[2]
        Post.first_name = row[3]
        Post.email = row[4]
        Post.is_staff = "1"
        Post.is_active = "1"
        Post.date_joined = "2018-09-27 05:14:50"
        Post.last_name=row[5]
        Post.save()

Вот так выглядит мой файл import.csv

enter image description here

И они были добавлены поверх того, что у меня было там enter image description here

Теперь единственный шаг - дать всем им разрешения,Только вторая запись, которая не является администратором, имеет права.

enter image description here

PS Добавить хешированный проход, без него пользователь работать не будет.Поэтому вам нужно создать тестовый проход и использовать этот хэш, вставленный в поле строки прохода ==>, и это будет работать как шарм.

...