Я просто хочу, чтобы пользователь мог отправлять приглашения по электронной почте нескольким пользователям через поле ввода электронной почты, которое позволяет отправлять до 30 электронных писем. Я пробовал использовать django -multi-email-field, но не хочу выполнять больше работы, чем необходимо. django -invitations уже делает ключи приглашения для меня, поэтому я хочу, чтобы URL-адрес json -invite работал. Я получаю сообщение об ошибке
Method Not Allowed (GET): /invitations/send-json-invite/
Method Not Allowed: /invitations/send-json-invite/
при переходе по этому URL-адресу. Я вообще не изменял пакет, но внутри invitations / views.py есть следующее:
class SendJSONInvite(View):
http_method_names = [u'post']
@method_decorator(login_required)
def dispatch(self, request, *args, **kwargs):
if app_settings.ALLOW_JSON_INVITES:
return super(SendJSONInvite, self).dispatch(
request, *args, **kwargs)
else:
raise Http404
def post(self, request, *args, **kwargs):
status_code = 400
invitees = json.loads(request.body.decode())
response = {'valid': [], 'invalid': []}
if isinstance(invitees, list):
for invitee in invitees:
try:
validate_email(invitee)
CleanEmailMixin().validate_invitation(invitee)
invite = Invitation.create(invitee)
except(ValueError, KeyError):
pass
except(ValidationError):
response['invalid'].append({
invitee: 'invalid email'})
except(AlreadyAccepted):
response['invalid'].append({
invitee: 'already accepted'})
except(AlreadyInvited):
response['invalid'].append(
{invitee: 'pending invite'})
except(UserRegisteredEmail):
response['invalid'].append(
{invitee: 'user registered email'})
else:
invite.send_invitation(request)
response['valid'].append({invitee: 'invited'})
if response['valid']:
status_code = 201
return HttpResponse(
json.dumps(response),
status=status_code, content_type='application/json')
Я попытался добавить 'get' к http_method_names, а также создать метод get «pass», но нет успех. Любая помощь очень ценится. По этому пакету нет документации, кроме страницы на github: https://github.com/bee-keeper/django-invitations