假设我有一个字符串'gfgfdAAA1234ZZZuijjk',我想只提取'1234'部分.
我只知道在我感兴趣的部分之前AAA和之后ZZZ的几个字符是什么1234.
使用sed它可以用字符串做这样的事情:
echo "$STRING" | sed -e "s|.*AAA\(.*\)ZZZ.*|\1|"
Run Code Online (Sandbox Code Playgroud)
这将给我1234带来的结果.
如何在Python中做同样的事情?
如何在查询中过滤,以便结果排除任何具有属于列表的ID的对象实例?
让我们说:
object_id_list = [1, 5, 345]
MyObject.objects.filter(Q(time__gte=datetime.now()) & Q( ... what to put here? ... ))
Run Code Online (Sandbox Code Playgroud)
一种风格的东西 "SELECT * FROM ... WHERE id NOT IN (...)"
我希望scrapy抓取页面,进入下一个链接看起来像这样:
<a href="#" onclick="return gotoPage('2');"> Next </a>
Run Code Online (Sandbox Code Playgroud)
scrapy能解释那个javascript代码吗?
通过livehttpheaders扩展,我发现单击Next会生成一个POST,其中包含一个非常大的"垃圾",如下所示:
encoded_session_hidden_map=H4sIAAAAAAAAALWZXWwj1RXHJ9n
Run Code Online (Sandbox Code Playgroud)
我正在尝试在CrawlSpider类上构建我的蜘蛛,但我无法弄清楚如何对它进行编码,BaseSpider我使用该parse()方法处理第一个URL,这恰好是一个登录表单,我在其中执行了一个POST:
def logon(self, response):
login_form_data={ 'email': 'user@example.com', 'password': 'mypass22', 'action': 'sign-in' }
return [FormRequest.from_response(response, formnumber=0, formdata=login_form_data, callback=self.submit_next)]
Run Code Online (Sandbox Code Playgroud)
然后我定义了submit_next()来告诉下一步该做什么.我无法弄清楚如何告诉CrawlSpider在第一个URL上使用哪种方法?
我抓取的所有请求(第一个除外)都是POST请求.它们交替使用两种类型的请求:粘贴一些数据,然后单击"下一步"转到下一页.
在HTML表单中,我有一个像这样的文件字段:
<div class="filefield">
<input type="file" name="myfile" id="fileinput">
</div>
Run Code Online (Sandbox Code Playgroud)
它会在按钮旁边显示一个按钮和一些文本.如果尚未选择任何文件,则文本为:No file chosen.如果已选择文件,则显示文件名.
此文本显示在按钮的右侧.我希望它显示在按钮下方.我已经在CSS中尝试了很多东西,没有任何作用,No file chosen只是总是显示在按钮的右侧,即使div和输入都给定的固定宽度仅与按钮一样宽,并且固定高度足够高一个按钮和两行文本,文本仍然显示在div的右边,而不是在div内部空间的下方.如何使其包装,以便文本显示在按钮下方?
如何设置帐户需要由管理员手动激活的django-registration?
帐户持有人点击电子邮件中的链接后,我希望向管理员发送一封电子邮件,他还需要点击一个链接,然后该帐户才会生效.
是否有可能使用django-registration,或者我是否需要使用其他东西,以及使用什么?
我编写的一个相当大的Python程序可以运行,但是有时,在运行几分钟或几小时后,在不容易再现的瞬间,它会挂起并且不输出任何信息到屏幕上。
我当时不知道它在做什么,它在代码的哪一部分。
如何在调试器或其他工具中运行此程序,以查看程序在挂起时正在执行哪些代码行?
它太大,无法在各处放置“打印”语句。
我做了:
python -m trace --trace /usr/local/bin/my_program.py
Run Code Online (Sandbox Code Playgroud)
但这给了我很多输出,我什至看不到任何东西,只有几百万行在屏幕上滚动。
最好的情况是,我可以使用“ kill -SIGUSR1”或类似的命令向程序发送一些信号,然后程序会进入调试器并向我显示它停止的那一行,并可能允许我逐步执行该程序,然后。
我试过了:
pdb usr/local/bin/my_program.py
Run Code Online (Sandbox Code Playgroud)
然后:
(Pdb) cont
Run Code Online (Sandbox Code Playgroud)
但是当挂起时我该怎么做呢?它不会引发异常,就像它在等待某些东西一样,可能处于无限循环中。
更详细一点:当程序挂起时,我按^ C键,然后(不确定是否有必要),该程序正常运行(不引发任何异常,并且在屏幕上没有提示我为什么停止)。
根据一个例子,我有三个模型:
class User(models.Model):
name = models.CharField(max_length=128)
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(User, through='Membership')
class Membership(models.Model):
person = models.ForeignKey(User)
group = models.ForeignKey(Group)
date_joined = models.DateField()
Run Code Online (Sandbox Code Playgroud)
添加成员有效.但是,如何删除单个成员资格实例(用户退出组),而不删除用户和组?
当我尝试删除它时:
u = User(request.user)
g = Group.objects.get(id=group_id, membership__user=u)
m = Membership(user=request.user, group=g)
m.delete()
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
/ groups/quit/1 /的AssertionError
无法删除成员资格对象,因为其id属性设置为None.
在 HTML 元素中使用多个单独的类属性是否有效?
像这样:
<div class="first-class" class="second-class">
</div>
Run Code Online (Sandbox Code Playgroud)
我知道可以将多个类名放在一个类属性中,我只是想知道是否允许以另一种方式这样做,还是绝对禁止?
我正在尝试编写一个函数来获取基于ASIN的项目的报价列表(它们的价格):
def price_offers(asin):
from amazonproduct import API, ResultPaginator, AWSError
from config import AWS_KEY, SECRET_KEY
api = API(AWS_KEY, SECRET_KEY, 'de')
str_asin = str(asin)
node = api.item_lookup(id=str_asin, ResponseGroup='Offers', Condition='All', MerchantId='All')
for a in node:
print a.Offer.OfferListing.Price.FormattedPrice
Run Code Online (Sandbox Code Playgroud)
我正在阅读 http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/index.html?ItemLookup.html并试图让这项工作,但它只是说:
Failure instance: Traceback: <type 'exceptions.AttributeError'>: no such child: {http://webservices.amazon.com/AWSECommerceService/2009-10-01}Offer
Run Code Online (Sandbox Code Playgroud) 假设我要传递的参数被调用printdata,并且printdata=['a', 'b', 'c'].
我"input type="hidden" name="alist" value={{printdata}}>"用来传递参数.但是,当我尝试使用以下代码检索views.py中的参数时:
params = request.POST
Run Code Online (Sandbox Code Playgroud)
params["alist"]等于['a',而不是['a', 'b', 'c'].我怀疑django使用了标识参数的结尾,.
您是否有任何建议或任何其他方法来传递参数?
django ×4
python ×4
html ×2
amazon ×1
css ×1
debugging ×1
django-views ×1
file ×1
forms ×1
input ×1
instance ×1
javascript ×1
list ×1
many-to-many ×1
onclick ×1
registration ×1
scrapy ×1
string ×1
substring ×1
trace ×1
validation ×1
web-scraping ×1