本文整理汇总了Python中survey.models.Survey.slug方法的典型用法代码示例。如果您正苦于以下问题:Python Survey.slug方法的具体用法?Python Survey.slug怎么用?Python Survey.slug使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类survey.models.Survey
的用法示例。
在下文中一共展示了Survey.slug方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post
# 需要导入模块: from survey.models import Survey [as 别名]
# 或者: from survey.models.Survey import slug [as 别名]
def post(self, request, *args, **kwargs):
warnings = []
data = json.loads(request.POST.get('r'))
title = data.get('title', '')
slug = slugify(data.get('slug') or title)
if not slug:
warnings.append(_('Please enter a valid title.'))
return HttpResponse(json.dumps({'status': 'failure', 'warnings': warnings}), mimetype='application/json')
try:
survey = self.get_object()
if slug != survey.slug:
warnings.append(_("This survey's URL has been changed. Be sure to update any QR code images."))
except AttributeError:
survey = Survey(creator=request.user)
survey.title = title
survey.slug = slug
survey.description = data.get('description', '')
try:
survey.save()
except IntegrityError:
warnings = [_('That title is already taken. Please choose a different one.')]
return HttpResponse(json.dumps({'status': 'failure', 'warnings': warnings}), mimetype='application/json')
# delete existing questions
# due to cascading deletes, this will also delete choices
QuestionGroup.objects.filter(pk__in=survey.question_set.all().values_list('group')).delete()
survey.question_set.all().delete()
questions = data.get('questions', [])
groups = data.get('groups', [])
survey.add_questions(questions, groups)
return HttpResponse(json.dumps({'status': 'success', 'warnings': warnings, 'url': reverse('surveydashboard', args=[survey.slug])}), mimetype='application/json')
示例2: handle
# 需要导入模块: from survey.models import Survey [as 别名]
# 或者: from survey.models.Survey import slug [as 别名]
def handle(self, *args, **options):
# TODO: Remove or improve before production...
logger.info('Deleting all surveys...')
User.objects.filter(is_staff=False).delete()
Survey.objects.all().delete()
ChallengeDetail.objects.all().delete()
logger.info('Starting import...')
df = pd.read_excel(path.join(settings.BASE_DIR, 'respondents.xlsx'), sheetname='Delegates')
df.fillna('', inplace=True)
for idx, survey in df.iterrows():
data_raw = survey.to_dict()
data = {k: str(v).strip() for k, v in data_raw.items()}
try:
country = Country.objects.get(name=data.get('country_of_operation'))
data.update({'country_of_operation': country})
except Country.DoesNotExist:
logger.warning('Could not find country %s' % data.get('country_of_operation'))
data.update({'country_of_operation': None})
del data['countries']
# Create and associate user
username = slugify(data.get('name')).replace('-', '_')
slug = '{0}_{1}'.format(data.get('slug')[2:] or slug_generator(), username)
logger.info(slug)
user = User.objects.create_user(username[:30], data.get('email', ''), slug)
survey = Survey(**data)
survey.slug = slug
survey.user = user
survey.save()
assign_perm('change_survey', user, obj=survey)
# Creating challenges
# for challenge in Challenge.objects.all():
# ChallengeDetail.objects.create(owner=slug, challenge=challenge)
for rank in range(1, 4):
ChallengeDetail.objects.create(respondent=survey, rank=rank)
# try:
# Survey(**data).save()
# except IntegrityError:
# logger.excep('Integ exisits: %s ' % data)
# except:
# logger.exception(data)
# else:
# for challenge in Challenge.objects.all():
# ChallengeDetail.objects.create(slug, challenge)
logger.info('Done')