小编dor*_*oru的帖子

怎么应该使用strace?

一位同事曾告诉我,当Linux上的所有内容都无法调试时,最后一个选项是使用strace.

我试图学习这个奇怪工具背后的科学,但我不是系统管理大师,我没有真正得到结果.

所以,

  • 究竟是什么,它做了什么?
  • 如何以及在何种情况下使用它?
  • 如何理解和处理输出?

简而言之,简单来说,这些东西是如何工作的?

linux debugging strace

266
推荐指数
8
解决办法
27万
查看次数

何时在djangorestframework序列化器中调用创建和更新?

我目前正在为我的应用RESTful API实现djangorestframework.玩弄之后,我仍然不清晰了解项目.create(self, validated_data).update(self, validated_data)用于串行.据我了解,CRUD只要求在4种主要方法viewsets.ModelViewSet:create(),retrive(),update(),和destroy().

我也已经尝试调试和打印出来的东西看的时候.create().update()方法被调用两个ModelViewSetModelSerializer.显然,ModelViewSet当我执行HTTP动词时,只调用in方法.但是,因为ModelSerializer,我没有在这两种方法中看到任何调用.我只是想知道那些用于的方法是什么,ModelSerializer因为我看到人们在序列化器中重写了很多方法.

P/S:我是djangorestframework的新手+对不起我的英语因为我不是本地人.

谢谢 :)

python django django-rest-framework

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

获取文本框中的当前光标位置

我需要一个代码来查找文本框/文本区域中光标的当前位置.它应该适用于chrome和firefox.以下是我使用的代码:

<!DOCTYPE html>
<html>
  <head>
    <script>
      function textbox()
      {
        document.getElementById('Javascript_example').value = document.activeElement.id;
        var ctl = document.getElementById('Javascript_example');
        alert(ctl);

        var startPos = ctl.selectionStart;
        alert(startPos);
        var endPos = ctl.selectionEnd;
        alert(endPos);
      }
    </script>
  </head>
  <body>

    <input id="Javascript_example" name="one" type="text" value="Javascript_example" onclick="textbox()">

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

javascript firefox textbox cursor

21
推荐指数
2
解决办法
10万
查看次数

父实例未绑定到Session; 属性"帐户"的延迟加载操作无法继续

在尝试执行以下操作时:

for line in blines:
    line.account = get_customer(line.AccountCode)
Run Code Online (Sandbox Code Playgroud)

我在尝试为以下值分配值时遇到错误line.account:

DetachedInstanceError: Parent instance <SunLedgerA at 0x16eda4d0> is not bound to a       Session; lazy load operation of attribute 'account' cannot proceed
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么??

python sqlalchemy

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

Pymongo/bson:将python.cursor.Cursor对象转换为serializable/JSON对象

MongoDb和Python(webapp2)新手.所以,我从mongodb数据库中获取了一些数据.但我无法使用json.dumps返回的数据.这是我的代码:

exchangedata = db.Stock_Master.find({"Country": "PHILIPPINES"}, {"_id" : 0})        
self.response.write(json.dumps(exchangedata)) 
Run Code Online (Sandbox Code Playgroud)

这会引发错误:

TypeError: pymongo.cursor.Cursor object at 0x7fcd51230290 is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

类型exchangedatapymongo.cursor.Cursor.如何将其转换为json对象?

python json mongodb pymongo webapp2

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

Flask,Python和Socket.io:多线程应用程序给我"RuntimeError:在请求上下文之外工作"

我一直在使用Flask,PythonFlask-Socket.io库开发应用程序.我emit遇到的问题是由于某些上下文问题,以下代码将无法正确执行

RuntimeError: working outside of request context
Run Code Online (Sandbox Code Playgroud)

我现在只为整个程序编写一个python文件.这是我的代码(test.py):

from threading import Thread
from flask import Flask, render_template, session, request, jsonify, current_app, copy_current_request_context
from flask.ext.socketio import *

app = Flask(__name__)
app.debug = True
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)

def somefunction():
    # some tasks
    someotherfunction()

def someotherfunction():
    # some other tasks
    emit('anEvent', jsondata, namespace='/test') # here occurs the error

@socketio.on('connect', namespace='/test')
def setupconnect():
    global someThread
    someThread = Thread(target=somefunction)
    someThread.daemon = True …
Run Code Online (Sandbox Code Playgroud)

python sockets multithreading flask socket.io

12
推荐指数
2
解决办法
3888
查看次数

渲染jinja2模板没有Flask上下文

我有一个Flask应用程序,flask.render_template当从一个烧瓶调用时,它可以毫无问题地调用http request.

我需要相同的方法在烧瓶外工作(来自python后端程序)

resolved_template =  render_template(template_relative_path, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我可以使用jinja2 api,但我想在两个上下文(烧瓶和命令行)中使用相同的方法

python jinja2 flask

8
推荐指数
2
解决办法
6287
查看次数

Python 3的random.SystemRandom.randint中是否有错误,或者我使用不正确?

>>> import random
>>> random.SystemRandom.randint(0, 10)
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    random.SystemRandom.randint(0, 10)
TypeError: randint() missing 1 required positional argument: 'b'
Run Code Online (Sandbox Code Playgroud)

SystemRandom应该给随机数不过os.urandom,randint就像正常的randrange:

>>> print(random.SystemRandom.randint.__doc__)
Return random integer in range [a, b], including both end points.
Run Code Online (Sandbox Code Playgroud)

在IDLE中,当我输入它时,会出现一个小弹出建议

`random.SystemRandom.randint(self, a, b)`
Run Code Online (Sandbox Code Playgroud)

我认为这是原因.我不是很擅长使用类并理解它们是如何工作的,但第一个参数似乎正在被传递self,应该是什么时候a.我从来没有真正理解为什么self在它甚至不是关键字时使用,以及它应该如何才能正常工作,但它通常会这样做.

我这样做错了,或者我应该在每次应该做这样的事情时向Python基金会报告这个问题?

python random

8
推荐指数
2
解决办法
6983
查看次数

Google App Engine(Python) - 上传文件(图片)

我希望用户能够将图像上传到Google App Engine.我有以下(Python):

class ImageData(ndb.Model):
     name = ndb.StringProperty(indexed=False)
     image = ndb.BlobProperty()
Run Code Online (Sandbox Code Playgroud)

用户使用表单(HTML)提交信息:

<form name = "input" action = "/register" method = "post">
    name: <input type = "text" name = "name">
    image: <input type = "file" name = "image">
</form>
Run Code Online (Sandbox Code Playgroud)

然后由以下处理:

class AddProduct(webapp2.RequestHandler):
    def post(self):
        imagedata = ImageData(parent=image_key(image_name))
        imagedata.name = self.request.get('name')
        imagedata.image = self.request.get('image')
        imagedata.put()
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试上传图片时,让我们说"Book.png",我收到错误: BadValueError: Expected str, got u'Book.png'

知道发生了什么事吗?我已经和GAE工作了很长时间,但这是我第一次使用blob.

我使用了这个链接:https://developers.google.com/appengine/docs/python/images/usingimages ,它使用的是db,而不是ndb.我也尝试将图像存储在变量中,就像在链接中一样: storedInfo = self.request.get('image') 然后存储它: imagedata.image = ndb.Blob(storedInfo) 这也给了我一个错误: AttributeError: 'module' object has no attribute …

python upload google-app-engine image app-engine-ndb

6
推荐指数
3
解决办法
8088
查看次数

进行AJAX调用以将下拉值传递给python脚本

我想从包含数据库名称的下拉列表中传递选定的值,并将其传递给后台中连接到传递的数据库名称的python脚本.以下是我写的ajax代码

<script type="text/javascript">
    $(document).ready(function(){
        $("button").click(function(){
            $.ajax({
          url : "/form_submit",
          data : $('#databases').val(),
          type : 'POST',
          success : alert("Hi dear count " + $('#databases').val())
        });
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

"databases"是HTML中select标签的id.我在写数据:

$('#databases').val() 
Run Code Online (Sandbox Code Playgroud)

将数据传递给python代码.

以下是应该接受传递值的python代码.如果我直接从控制台运行以下代码,那么它以json格式返回结果,但间接运行它没有成功

@app.route("/form_submit/", methods=['GET','POST'])
def connect():
    import json
    dtb = request.select['value']
    db = MySQLdb.connect("localhost","root","",dtb)
    cursor =  db.cursor()
    cursor.execute("SELECT * FROM REPORT_SUITE")
    results = cursor.fetchall()   
    json_return_value =[]

    for result in results:
        table_data = {'REPORTSUITE_ID' : result[0], 'REPORTSUITE_NAME' : result[1], 'STAGING_DATABASE' : result[2], 'DWH_DATABASE' : result[3], 'TRANS_TABLE' : result[4]}
        json_return_value.append(table_data)
    print ("hi")
    print …
Run Code Online (Sandbox Code Playgroud)

html python ajax flask

6
推荐指数
1
解决办法
1039
查看次数