Skip to content

Instantly share code, notes, and snippets.

@hsleonis
Created January 2, 2018 11:34
Show Gist options
  • Save hsleonis/2a9cb2f260d2e3896f83fcee91528399 to your computer and use it in GitHub Desktop.
Save hsleonis/2a9cb2f260d2e3896f83fcee91528399 to your computer and use it in GitHub Desktop.
CSV generate
def profile(request):
response_model = generate_response(request)
# Generate CSV
from django.http import HttpResponse
import csv
users = User.objects.all()
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="User_List_TheSunCoin.csv"'
writer = csv.writer(response, quotechar='"')
headers = ['Username', 'Registration Date', 'Sponsor', 'User Left','User Right', 'Position']
writer.writerow(headers)
tmp = []
n = 0
for person in users:
tmp.append(person.username)
tmp.append(person.date_joined)
if person.profile:
s = person.profile.sponsor
if s is not None:
s = s.lower()
tmp.append(s)
left = AffiliateService.superuser_left(person)
right = AffiliateService.superuser_right(person)
if left is not None:
tmp.append(left.user.username)
else:
tmp.append(' ')
if right is not None:
tmp.append(right.user.username)
else:
tmp.append(' ')
tmp.append(person.profile.set_position)
else:
tmp.append('thesuncoin')
tmp.append(' ')
tmp.append(' ')
tmp.append('RIGHT')
writer.writerow(tmp)
tmp = []
n = len(tmp)
return render(request, 'dashboard/user/profile.html', response_model)
#return response
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment