有人可以详细解释如何以尽可能简单的方式进行注册和身份验证吗?我进行了身份验证(登录),django.contrib.auth但我想得到的是一个完整的注册(社交/非)+登录.已经看到了django-allauth,django-social-auth,django-social但仍无法得到它的工作没有黑客不少.听说django-registration并且django-profiles可以使它轻松了许多,但我不能处理它.例如,
~/.virtualenvs/plinter/lib/python2.7/site-packages/registration/backends/default/urls.py
Run Code Online (Sandbox Code Playgroud)
需要一个小工作:
# from django.views.generic.simple import direct_to_template
from django.views.generic import RedirectView
...
RedirectView.as_view(url='/registration/activation_complete.html'),
# direct_to_template,
# {'template': 'registration/activation_complete.html'},
...
Run Code Online (Sandbox Code Playgroud)
DjangoBook提供了联系和搜索表单的简单示例.但我无法扩展用户注册和登录.那么,任何人都可以给出工作注册和登录的 kis示例吗?
django-allauth或社会认可或registration2考虑...
django-allauth似乎是更容易验证的最佳解决方案.在设置中添加正确的应用程序,注册fb/google/etc应用程序并通过管理员注册并使用模板继承来更改默认页面设计. 假设您有一个<div>单击鼠标就会出现的元素。它的内部有一长串按包装纸的固定大小裁剪的项目。据我了解,在 div 元素上设置.offsetTop可以解决这个问题,但我尝试在 puppeteer 无头浏览器中使用它page.evaluateHandle返回JSHandle. 因此,如果我无法获取此函数返回的原始元素,我很困惑如何准确地实现结果。设置offsetTop回调内部并没有什么区别,所以我肯定做错了什么。
const divHandle = await page.evaluateHandle(() => {
let overflowDiv = document.querySelectorAll(
`some > selector`
)[0];
overflowDiv.offsetTop = overflowDiv.offsetTop + 200
return overflowDiv.offsetTop;
});
Run Code Online (Sandbox Code Playgroud)
顺便说一句,它.asElement()也以某种意想不到的方式表现,我不完全明白如何尝试找到一个元素,获取它的绝对位置或简单地设置参数。
附加说明:正如 API 文档所述.evaluateHandle():
...要在页面上下文中评估的函数
...page.evaluate 和 page.evaluateHandle 之间的唯一区别是 page.evaluateHandle 返回页内对象 (JSHandle)。
因此
,要获取一个元素,必须从evaluateHandle方法返回 JSHandle,然后将其作为第二个参数传递给evaluate方法,如下所示:
await page.evaluate(e => e, jsHandle);
Run Code Online (Sandbox Code Playgroud)
但主要问题仍然是如何操纵属性,特别offsetTop是模仿滚动。