django - Django 上的实时站点演示

标签 django django-cms

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

最佳答案

一种解决方案可能是使用 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)

关于django - Django 上的实时站点演示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20054307/

相关文章:

python - 语法错误 : Generator expression must be parenthesized

python - 如何在 Django 中使用 serializers.serialize 序列化具有特定字段的对象?

python - django-allauth 从 iOS 设备使用 Facebook token 登录

python - Djangocms 中的自定义 View ?

python - Django on Heroku dumpdata 输出不完整

python - 了解 Django 中的原子事务

python - 如何从另一个模块扩展模板?

python - "NodeAlreadySaved "使用djangocms发布页面更改时报错

django - 在 DjangoCMS 插件中使用 Sekizai addtoblock 的正确方法

django - 如何在 django cms 中扩展插件