V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
BruceLi
V2EX  ›  Django

Django admin 如何一步添加用户

  •  
  •   BruceLi · 2015-09-22 14:51:20 +08:00 · 4339 次点击
    这是一个创建于 3376 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 Django admin 开发一个简单的数据录入网站,客户需要自己创建一些用户, Django admin 默认的 form 太复杂而且要两步才能完成,如何一步搞定?

    7 条回复    2015-09-23 11:16:17 +08:00
    wenbinwu
        1
    wenbinwu  
       2015-09-22 15:12:40 +08:00
    你自己写一个注册页面?
    BruceLi
        2
    BruceLi  
    OP
       2015-09-22 15:20:58 +08:00
    @wenbinwu 如果不能重载默认的 form ,估计只能这样了。
    cnleoyang
        3
    cnleoyang  
       2015-09-22 15:27:38 +08:00 via iPad
    自己写吧,共享一个代码片段供参考
    https://gist.github.com/anonymous/875d35faf9c8eb3ffa84
    BruceLi
        4
    BruceLi  
    OP
       2015-09-22 16:43:35 +08:00
    @cnleoyang 谢谢,去学习一下。
    gevin
        5
    gevin  
       2015-09-22 16:49:09 +08:00
    我也提供一个用户注册的实现

    ```
    class RegisterView(View):
    template_name = 'accounts/simple_form.html'

    def get(self, request, form=None):
    if not form:
    form = forms.RegisterForm()

    data = {'title':'Register', 'form':form, 'btn_name':'Register'}

    return render(request, self.template_name, data)

    def post(self, request):
    form = forms.RegisterForm(request.POST)
    if form.is_valid():
    username = form.cleaned_data['username']
    email = form.cleaned_data['email']
    password = form.cleaned_data['password']

    user = User.objects.create_user(username, email, password)

    user.save()

    msg = 'Successfully Registered'
    messages.add_message(request, messages.SUCCESS, msg)
    url = reverse('accounts:login')
    return redirect(url)

    else:
    return self.get(request, form)
    ```
    gevin
        6
    gevin  
       2015-09-22 16:50:57 +08:00
    BruceLi
        7
    BruceLi  
    OP
       2015-09-23 11:16:17 +08:00
    @gevin 刚看到,谢谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1003 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:50 · PVG 05:50 · LAX 13:50 · JFK 16:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.