小编Wip*_*ozn的帖子

Django:登录后重定向到上一页

我正在尝试构建一个简单的网站,其登录功能与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)

所以,这就是它,希望能说清楚.

python django

168
推荐指数
4
解决办法
10万
查看次数

使用命名空间时无法找到SimpleXMLElement

我正在尝试在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类,但是我不知道为什么.

有关此错误发生原因的任何想法,以及我如何解决它?

php wordpress namespaces class simplexml

15
推荐指数
1
解决办法
2万
查看次数

负载测试django locustio

嗨,我使用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=9000
Run Code Online (Sandbox Code Playgroud)

python django load-testing http-status-code-403 locust

9
推荐指数
2
解决办法
2771
查看次数