簡體   English   中英

Django Admin --Bulk Staff 用戶創建/從 CSV 文件導入

[英]Django Admin --Bulk Staff User Creation/Import from CSV file

我有個問題。 我必須從 excel/csv 文件導入我的 Django Admin 應用程序中允許的所有用戶。 有人可以建議,指導我如何在 Django 管理界面中實現這個東西。 有我可以使用的腳本嗎? 他們所有人都將被允許登錄我的 Django 應用程序,並且他們所有人都將自動成為員工用戶。

所以對於那些將在我的鞋子里的人,請看下面的訣竅!

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 文件的樣子

在此處輸入圖片說明

它們被添加到我在那里的東西之上在此處輸入圖片說明

現在唯一的步驟是向所有這些人授予權限。 只有非管理員的第二個記錄有權限。

在此處輸入圖片說明

PS 添加一個散列通行證,沒有它,用戶將無法工作。 因此,您必須創建一個測試通過,並使用插入到通過行字段中的哈希==>,這將像魅力一樣工作。

from django.http import JsonResponse
from csv import reader
from django.contrib.auth.models import User

def userdata(request):
with open('templates/csv/your_file.csv', 'r') as csv_file:
    csvf = reader(csv_file)
    data = []
    for username, password, *__ in csvf:
        user = User(username=username)
        user.set_password(password)
        data.append(user)
    User.objects.bulk_create(data)
    
return JsonResponse('user csv is now working', safe=False)

然后在你的 urls.py

路徑('用戶數據/',用戶數據,名稱='用戶數據')

##只是重定向到url,所有數據都會被推送到數據庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM