一切都在我的本地环境中工作,但在生产中出现了错误
我使用的是Django 3.0.4、Postgresql 11.8、Python 3.7
这是我在decorator.py中的自定义权限
from django.http import HttpResponse
from django.shortcuts import redirect
def allowed_users(allowed_roles=[]):
def decorator(view_func):
def wrapper_func(request, *args, **kwargs):
group = []
if request.user.groups.exists():
group = request.user.groups.all()[0].name
if group in allowed_roles:
return view_func(request, *args, **kwargs)
else:
return HttpResponse('You are not authorized to view the page')
return wrapper_func
return decorator
那么在我看来。py:
@login_required
@allowed_users(allowed_roles=['supervisor'])
def journal_entry(request):
JournalFormset = modelformset_factory(JournalEntry, fields='__all__', extra=1)
if request.method == 'POST':
form = JournalFormset(request.POST, queryset=JournalEntry.objects.none())
instance = form.save()
form = JournalFormset(queryset=JournalEntry.objects.none())
return render(request, 'journal_entry.html', {'form':form})
当我尝试将a用户添加到“主管”组时,如下图所示:
adding user to 'supervisor' group
我得到以下错误:
ProgrammingError at /admin/auth/user/2/change/
syntax error at or near "ON"
LINE 1: ...ser_groups" ("user_id", "group_id") VALUES (2, 1) ON CONFLIC...
^
Request Method: POST
Request URL: https://mogononso.pythonanywhere.com/admin/auth/user/2/change/
Django Version: 3.0.4
Exception Type: ProgrammingError
Exception Value:
syntax error at or near "ON"
LINE 1: ...ser_groups" ("user_id", "group_id") VALUES (2, 1) ON CONFLIC...
^
Exception Location: /home/mogononso/.virtualenvs/myenv/lib/python3.7/site-packages/django/db/backends/utils.py in _execute, line 86
Python Executable: /usr/local/bin/uwsgi
Python Version: 3.7.5
Python Path:
['/home/mogononso/.virtualenvs/myenv/lib/python3.7/site-packages/git/ext/gitdb',
'/var/www',
'.',
'',
'/var/www',
'/home/mogononso/.virtualenvs/myenv/lib/python37.zip',
'/home/mogononso/.virtualenvs/myenv/lib/python3.7',
'/home/mogononso/.virtualenvs/myenv/lib/python3.7/lib-dynload',
'/usr/lib/python3.7',
'/home/mogononso/.virtualenvs/myenv/lib/python3.7/site-packages',
'/home/mogononso/churchapp/churchapp2',
'/home/mogononso/.virtualenvs/myenv/lib/python3.7/site-packages/gitdb/ext/smmap']
Server time: Tue, 7 Jul 2020 16:07:26 +0000
我试过:
Django3需要比Pythonywhere上可能使用的版本更新的Postgres。请与PA支持部门联系,以便我们讨论将您迁移到更新版本的Postgres
相关问题 更多 >
编程相关推荐