我一直在寻找一些关于如何创建类似于django cms和mezzanine的网站演示的文档。我真正需要的是一种向客户显示以管理员身份登录时网站可以执行的操作的方法,并允许他们在不造成伤害的情况下更改内容。是否有一个我可以参考的开源项目或类似的东西?我很感激帮助!
答案 0 :(得分:2)
一种解决方案可能是使用loaddata
管理命令为特定模拟账户的数据重新加载json
灯具。
(未经测试)
# forms.py
class DemoLoginForm(forms.ModelForm):
class Meta:
model = User
fields = ['username', 'password']
widgets = {
'password': forms.PasswordInput(attrs={'initial': '', 'size': '80'})
}
# views.py
from django.core.management import call_command
class DemoLoginView(FormView):
template_name = 'demo-login.html'
form_class = DemoLoginForm
success_url = '/admin/'
def form_valid(self, form):
login(self.request, authenticate(username=form.instance.username, password=new_password))
call_command("loaddata", "/path/to/demo_account_fixture.json", verbosity=0)
return super(DemoLoginView, self).form_valid(form)