Django的现场演示

时间:2013-11-18 17:47:06

标签: django django-cms

我一直在寻找一些关于如何创建类似于django cms和mezzanine的网站演示的文档。我真正需要的是一种向客户显示以管理员身份登录时网站可以执行的操作的方法,并允许他们在不造成伤害的情况下更改内容。是否有一个我可以参考的开源项目或类似的东西?我很感激帮助!

1 个答案:

答案 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)