我在使用OSX和Pycharm时总是遇到随机缩进错误(尝试在Pycharm设置中切换制表符和空格,但没有成功)。如果我在linux下运行这个项目,它可以正常工作。下面的代码尝试从csv上传用户,我尝试了注释和不同的字段,这些字段不存在于这组用户中。在import csv
from django.contrib.auth import get_user_model
User = get_user_model()
members = open('Volunteers.csv', "rU")
data = csv.DictReader(members)
default_password = User.objects.make_random_password()
def generate_username(first_name, last_name):
val = "{0}{1}".format(first_name[0], last_name[0]).lower()
x = 0
while True:
if x == 0 and User.objects.filter(username=val).count() == 0:
return val
else:
new_val = "{0}{1}".format(val, x)
if User.objects.filter(username=new_val).count() == 0:
return new_val
x += 1
if x > 1000000:
raise Exception("Name is super popular!")
for row in data:
email = row['Email']
first_name = row['First Name'],
last_name = row['Last Name'],
username = generate_username(first_name, last_name)
user = User.objects.create_user(username, email, default_password)
user.is_staff = False
user.volunteer = True
user.active = row['Active']
user.first_name = row['First Name']
user.last_name = row['Last Name']
user.organization = row['Organization']
user.interview = row['Interview']
user.house_number_street_name = row['Address']
user.state = row['State']
user.city = row['City']
user.zip_code = row['Zip Code']
user.daytime_phone = row['Daytime Phone']
user.home_phone = row['Home Phone']
user.cell_phone = row['Cell Phone']
user.organization = row['Organization']
user.emergency_contact = row['Emergency Contact']
user.days_available = row['Days Available']
user.food_pantry = row['Food Pantry']
user.interview = row['Interview']
user.bi_lingual = bool(row['Bilingual'])
user.fund_raising = row['Fund Raising']
user.board_member = row['Board Member']
user.sunshine_committee = row['Sunshine Committe']
user.solicit_donations = row['Solicit Donations']
user.record_keeping = row['Record Keeping']
user.truck_or_van = row['Truck or Van']
user.pick_up_food = row['Pick up Food']
user.deliver_food = row['Deliver Food']
user.save()
# user.comments = row['Comments']
# user.drivers_licence = row['Drivers Licence Number']
# user.unemployment = row['Unemployment']
# user.food_stamps = row['Food Stamps']
# user.disability = row['Disability']
# user.salary = row['Salary']
# user.pension = row['Pension']
# user.ss_ssi = row['Social and Supplemental Income']
原木
^{pr2}$
更新的代码将在引用下面的注释时运行,要求注释出有错误的行。在import csv
from django.contrib.auth import get_user_model
User = get_user_model()
members = open('Volunteers.csv', "rU")
data = csv.DictReader(members)
default_password = User.objects.make_random_password()
def generate_username(first_name, last_name):
val = "{0}{1}".format(first_name[0], last_name[0]).lower()
x = 0
while True:
if x == 0 and User.objects.filter(username=val).count() == 0:
return val
else:
new_val = "{0}{1}".format(val, x)
if User.objects.filter(username=new_val).count() == 0:
return new_val
x += 1
if x > 1000000:
raise Exception("Name is super popular!")
for row in data:
email = row['Email']
first_name = row['First Name'],
last_name = row['Last Name'],
username = generate_username(first_name, last_name)
user = User.objects.create_user(username, email, default_password)
user.is_staff = False
user.volunteer = True
user.active = row['Active']
user.first_name = row['First Name']
user.last_name = row['Last Name']
user.organization = row['Organization']
user.interview = row['Interview']
user.house_number_street_name = row['Address']
user.state = row['State']
user.city = row['City']
user.zip_code = row['Zip Code']
user.daytime_phone = row['Daytime Phone']
user.save()
# user.home_phone = row['Home Phone']
# user.cell_phone = row['Cell Phone']
# user.organization = row['Organization']
# user.emergency_contact = row['Emergency Contact']
# user.days_available = row['Days Available']
# user.food_pantry = row['Food Pantry']
# user.interview = row['Interview']
# user.bi_lingual = bool(row['Bilingual'])
# user.fund_raising = row['Fund Raising']
# user.board_member = row['Board Member']
# user.sunshine_committee = row['Sunshine Committe']
# user.solicit_donations = row['Solicit Donations']
# user.record_keeping = row['Record Keeping']
# user.truck_or_van = row['Truck or Van']
# user.pick_up_food = row['Pick up Food']
# user.deliver_food = row['Deliver Food']
# user.save()
# user.comments = row['Comments']
# user.drivers_licence = row['Drivers Licence Number']
# user.unemployment = row['Unemployment']
# user.food_stamps = row['Food Stamps']
# user.disability = row['Disability']
# user.salary = row['Salary']
# user.pension = row['Pension']
# user.ss_ssi = row['Social and Supplemental Income']