如果用户未登录,我希望登录表单(来自django.contrib.auth的AuthenticationForm)显示在我站点的每个页面上.当用户登录时,它们将被重定向到同一页面.如果出现错误,则错误将显示在与表单相同的页面上.
我想你需要一个上下文处理器来为每个模板提供表单.但是,那么你还需要每个视图来处理发布的表单吗?这是否意味着您需要创建一些中间件?我有点迷茫.
这是否有可接受的方式?
我正在使用django-allauth作为我的一个项目.我想通过ajax实现登录/注册过程.我想要自定义注册表单.我正在通过他们的signupmixin和注册表单.听起来我可以为每个动作编写自定义视图并将其映射到url配置.我不确定最好的方法是什么.
非常感谢您对此的任何帮助或建议.
django django-forms django-views django-authentication django-allauth
而不是登录页面'../account/login/'我想让用户可以直接在主页上登录,例如.我该怎么做才能成功呢?如何使用allauth连接主页上的输入字段?我不知道这是否过于复杂,无法以这种方式运作?
我一直在寻找解决方案已有一段时间了,我无法解决这个问题.我想要完成的只是在同一页面和主页上而不是/ accounts urls下使用allauth登录和注册表单.有没有人有这方面的经验或有他们可以分享的解决方案或指向我正确的方向?任何帮助,将不胜感激.
我在context_processors.py中有这个代码
class ContactFormView(FormView):
form_class = ContactForm
template_name = "blog/contact.html"
success_url = "/contact/"
def form_valid(self,form):
contact_name = form.cleaned_data.get('contact_name')
contact_email = form.cleaned_data.get('contact_email')
form_content = form.cleaned_data.get('content','')
try:
send_mail(contact_name,form_content,contact_email,[settings.EMAIL_HOST_USER], fail_silently=False)
except BadHeaderError:
return HttpResponse('Invalid Header Found')
return super(ContactFormView,self).form_valid(form)
Run Code Online (Sandbox Code Playgroud)
我希望通过使用上下文处理器将其包含在所有视图中.我收到此错误:
TypeError at /
__init__() takes exactly 1 argument (2 given)
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.8.7
Exception Type: TypeError
Exception Value:
__init__() takes exactly 1 argument (2 given)
Exception Location: C:\Python27\lib\site-packages\django-1.8.7-py2.7.egg\django\template\context.py in bind_template, line 241
Python Executable: C:\Python27\python.exe
Python Version: …Run Code Online (Sandbox Code Playgroud)