我正在尝试构建一个简单的网站,其登录功能与SO上的功能非常相似.用户应该能够以匿名用户身份浏览网站,并且每个页面都会有一个登录链接.单击登录链接时,用户将被带到登录表单.成功登录后,用户应该返回到他首先点击登录链接的页面.我猜我必须以某种方式将当前页面的url传递给处理登录表单的视图,但我无法让它真正起作用.
编辑:我明白了.我通过将当前页面作为GET参数传递,然后使用"next"重定向到该页面来链接到登录表单.谢谢!
编辑2:我的解释似乎并不清楚所以这里要求的是我的代码:让我们说我们在页面foo.html上,我们没有登录.现在我们希望在foo.html上有链接链接到login.html.我们可以登录,然后重定向回foo.html.foo.html上的链接如下所示:
<a href='/login/?next={{ request.path }}'>Login</a>
Run Code Online (Sandbox Code Playgroud)
现在我写了一个看起来像这样的自定义登录视图:
def login_view(request):
redirect_to = request.REQUEST.get('next', '')
if request.method=='POST':
#create login form...
if valid login credentials have been entered:
return HttpResponseRedirect(redirect_to)
#...
return render_to_response('login.html', locals())
Run Code Online (Sandbox Code Playgroud)
而login.html中的重要一行:
<form method="post" action="./?next={{ redirect_to }}">
Run Code Online (Sandbox Code Playgroud)
所以,这就是它,希望能说清楚.
我正在尝试在Wordpress中创建一个Widget,我遇到了一个创建SimpleXMLElement对象的问题.
这是代码:
namespace GenieKnows_Search;
class GenieKnows_Search_Widget extends \WP_Widget {
//Constructor
function __construct() {
parent::__construct('genieknows_search_widget', 'GenieKnows_Search_Widget');
}
//Irrelevant Code. Removed for readability.
//Return the XML
function retrieve_gk_xml() {
$xml = new SimpleXMLElement($this->create_gk_xml(), 0, true); //Line 114
return $xml->xpath('/feed/results/sponsored/listing');
}
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
PHP致命错误:第114行/var/www/myticketpick.com/wp-content/plugins/genieknows-search/genieknows_search.php中找不到类'GenieKnows_Search\SimpleXMLElement'
它似乎正试图在我的GenieKnows_Search命名空间内寻找SimpleXML类,但是我不知道为什么.
有关此错误发生原因的任何想法,以及我如何解决它?
嗨,我使用locustio(python)来测试webapp(django)上的负载.当我尝试测试它时,我总是遇到403错误的挑战.他是代码
from locust import HttpLocust, TaskSet
def index(l):
l.client.get("/")
def login(l):
l.client.post("/login/", {"username":"an@id.com", "password":"education")
def upload(l):
l.client.get("/upload-image/")
def home(l):
l.client.get("/home/")
def settings(l):
l.client.get("/settings/")
def logout(l):
l.client.get("/logout/")
class UserBehavior(TaskSet):
tasks = {index:1, upload:1, home:1, settings:1, logout:1}
def on_start(self):
login(self)
class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait=5000
max_wait=9000Run Code Online (Sandbox Code Playgroud)
django ×2
python ×2
class ×1
load-testing ×1
locust ×1
namespaces ×1
php ×1
simplexml ×1
wordpress ×1