我需要&
在字符串中转义(&符号)字符.问题是每当我string = string.replace ('&', '\&')
得到结果时'\\&'
.添加额外的反斜杠以逃避原始反斜杠.如何删除这个额外的反斜杠?
我看到退出了一些独特的字符串生成实现,比如上传的图像名称,会话ID等等,其中许多都使用了像SHA1或其他类似的哈希.
我不是在质疑使用这样的自定义方法的合法性,而只是因为它的原因.如果我想要一个独特的字符串,我只想这样说:
>>> import uuid
>>> uuid.uuid4()
UUID('07033084-5cfd-4812-90a4-e4d24ffb6e3d')
Run Code Online (Sandbox Code Playgroud)
而且我已经完成了它.在我读到uuid之前,我不是很信任,所以我这样做了:
>>> import uuid
>>> s = set()
>>> for i in range(5000000): # That's 5 million!
>>> s.add(str(uuid.uuid4()))
...
...
>>> len(s)
5000000
Run Code Online (Sandbox Code Playgroud)
不是一个中继器(我不认为现在考虑的可能性是1.108e + 50,但看到它在行动中是令人欣慰的).你甚至可以通过组合2 uuid4()
秒来制作你的弦乐的一半.
那么,有了这个说,为什么人们花时间在随机()和其他东西上寻找独特的字符串等?关于uuid是否存在重要的安全问题?
我决定今晚第一次尝试Bootstrap 3.我注意到,为了获得默认的,漂亮的表单字段样式,你需要为form-control
每个输入,textarea,select等添加一个类.这对那些动态生成表单的人来说很痛苦(例如,使用Django).Django允许您设置表单字段的属性,但要全局这样做需要一个令人讨厌的猴子补丁或非常非干的代码.
我遇到了问题,因为我正在使用some_widget_instance.delete()删除Widget.我还有一个名为WidgetFile的模型,它有一个覆盖delete()方法,这样我就可以在删除WidgetFile时删除硬盘上的文件.我遇到的问题是,如果我删除一个Widget,它有与之相关的WidgetFiles:
class WidgetFile(models.Model):
widget = models.ForeignKey(Widget)
Run Code Online (Sandbox Code Playgroud)
好吧,当我删除该Widget时,它的WidgetFiles被删除但是delete()方法不会触发并执行我的额外硬盘驱动器.任何帮助深表感谢.
在各种ORM的文档中,它们总是提供创建索引等的方法.他们总是提到要确保为效率创建适当的索引,就好像这是非手写SQLer的固有知识,需要使用ORM.我对索引(PK之外)的理解基本上是:如果您打算LIKE
根据列的内容进行查询(即搜索),则应该为该列使用全文索引.关于指数(主要与效率有关),我还应该知道什么?我觉得我的门口有一个知识世界,但是它下方有一个巨大的折叠式鼠标垫,所以我无法通过(我不知道为什么我觉得我需要这么说,但是谢谢你提供沙发).
我知道这里有一个帖子:django模板系统,在模型中调用一个函数来描述如何制作一个自定义模板过滤器来实现这一点,但从程序员的角度来看这是一个失败,因为这是一个不适合的东西那.你不能在Django的模板系统中调用带参数的方法似乎很荒谬.
它是否正确?
class Customer(models.Model):
account = models.ForeignKey(Account)
class Order(models.Model):
account = models.ForeignKey(Account)
customer = models.ForeignKey(Customer, limit_choices_to={'account': 'self.account'})
Run Code Online (Sandbox Code Playgroud)
我正在努力确保订单表单只显示与订单属于同一帐户的客户选择.
如果我忽略了一些明显不好的设计谬误,请告诉我.
我最关心的是:
limit_choices_to={'account': 'self.account'}
Run Code Online (Sandbox Code Playgroud) 我总是在这种情况下对动态创建的元素.on()
起作用.live()
(例如我使用$('.foo').on('click', function(){alert('click')});
然后foo
由于某些AJAX而创建了类的元素,现在我期望点击该元素以引发警报) .在实践中,这些不是我得到的结果.我可能犯了一个错误,但是有人可以帮我理解实现这些结果的新方法.on()
吗?
提前致谢.
我知道答案很简短,因为我试过了.有没有办法实现这一点(即使只是因为黑客攻击)?
class Ticket(models.Model):
account = modelfields.AccountField()
uuid = models.CharField(max_length=36, unique=True)
created = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['created']
@property
def repair_cost(self):
# cost is a @property of LineItem(models.Model)
return self.lineitem_set.aggregate(models.Sum('cost'))
Run Code Online (Sandbox Code Playgroud) >> url = 'https://test.authorize.net/gateway/transact.dll'
>> data = {'x_login': 'abc123', 'x_type': 'AUTH_CAPTURE', 'x_card_num': '4444333322221103', 'x_amount': '50.75', 'x_tran_key
': 'abc123', 'x_version': '3.1', 'x_delim_char': '|', 'x_exp_date': '022012', 'x_delim_data': 'TRUE'}
>>
>> urllib2.urlopen(url, data)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "gateways\base.py", line 81, in dispatch
return gw_method(self, *args, **kwargs)
File "gateways\decorators.py", line 17, in wrapper
method(*args, **kwargs)
File "gateways\authorize_net.py", line 39, in auth_capture
return self.post_data(data)
File "gateways\authorize_net.py", line 43, in post_data
raw_response = urllib2.urlopen(self.get_endpoint(), data)
File "C:\Python26\lib\urllib2.py", line …
Run Code Online (Sandbox Code Playgroud)