小编use*_*478的帖子

Django模板中的编码问题

我在使用{%ifequal s1"某些文本"%}时遇到问题,以便在Django模板中比较字符串和扩展字符.当字符串s1包含> 71的ascii字符时,我在模板渲染中得到异常.我究竟做错了什么?我在数据,模板和Python代码中的其余应用程序中使用UTF-8编码没有任何问题.

views.py

def test(request):
    return render_to_response("test.html", {
                                            "s1": "dados",
                                            "s2": "aprovação",
                                            }
                              )
Run Code Online (Sandbox Code Playgroud)

的test.html

s1={{s1}}<br>
s2={{s2}}<br>

{% ifequal s1 "dados" %}
  s1="dados" is true
{% endifequal %}

{% ifequal s1 "aprovação" %}
  s1="aprovação" is true
{% endifequal %}

{% comment %}
The following two comparions cause the following exception:
Caught an exception while rendering: 'ascii' codec can't decode byte 0xc3 in position 6: ordinal not in range(128)

{% ifequal s2 "dados" %}
  s2="dados" is true
{% endifequal %} …
Run Code Online (Sandbox Code Playgroud)

python django unicode django-templates internationalization

5
推荐指数
1
解决办法
4525
查看次数

使嵌入在网页中的Word文档可编辑或只读

我正在使用以下内容将一些Word文档嵌入到我们的网页中iframe:

<iframe src="ftp://ftp.example.com/www/uploads/Image/test.doc" width="100%" height="400">  
    Alternative
</iframe>
Run Code Online (Sandbox Code Playgroud)

问题是嵌入式Word控件允许用户编辑文档并显示一个图标来保存它们,但实际上并没有保存任何内容.是否可以设置Word以将编辑保存回FTP服务器?如果没有,那么我们是否可以将文档设为只读,以便用户不会认为他们可以进行更改?我们正在使用IE7和Word 2003.

(我刚刚问了一个关于将Word保存到FTP服务器的相关问题:Word可以直接在没有Sharepoint的Web服务器上编辑文档吗?)

office-2003 ms-word ms-office

5
推荐指数
1
解决办法
8861
查看次数

等价于Java的数据库架构更改,例如Django的South?

我一直在使用South来跟踪和管理数据库架构更改的Django项目上进行工作。我正在使用Google Web Toolkit开始一个新的Java项目,想知道是否有一个等效的工具。对于那些不知道的人,这是South的工作:

  • 自动识别对我的Python数据库模型的更改(添加/删除列,表等)
  • 自动创建SQL语句以将这些更改应用于我的数据库
  • 跟踪已应用的架构迁移并按顺序应用它们
  • 允许使用Python代码进行数据迁移。例如,使用Python split()函数将名称字段拆分为名字和姓氏字段

我还没有决定我的Java ORM,但是Hibernate看起来是最受欢迎的。对我而言,轻松进行数据库架构更改的能力将是一个重要因素。

java django orm hibernate django-south

5
推荐指数
1
解决办法
2364
查看次数

使用GWT RPC时的安全性

我在Google Web Toolkit中有一个POJO,我可以从服务器中检索.

class Person implements Serializable {
  String name;
  Date creationDate;
}
Run Code Online (Sandbox Code Playgroud)

当客户端进行更改时,我使用GWT RemoteServiceServlet将其保存回服务器,如下所示:

rpcService.saveObject(myPerson,...)
Run Code Online (Sandbox Code Playgroud)

问题是用户不应该改变creationDate.由于RPC方法实际上只是服务器的HTTP POST,因此可以creationDate通过更改POST请求来修改它.

一个简单的解决方案是创建一系列RPC函数,例如changeName(String newName),等等,但是具有许多字段的类将需要针对每个字段的许多方法,并且一次更改多个字段将是低效的.

我喜欢在服务器和GWT客户端上使用单个POJO的简单性,但需要一种安全的方法.有任何想法吗?

编辑

我正在重新提交赏金,试图看看是否还有其他想法.也许我原来的问题过于关注GWT的具体细节.我认为这是任何使用JavaBeans在安全(servlet容器)和不安全(web浏览器)环境之间传递数据的系统的一般性问题.

编辑2

另外,为了清楚起见,我使用该字段creationDate作为问题的一个例子.实际上,我正在使用的代码更复杂,有许多不同的领域.

java security gwt servlets javabeans

5
推荐指数
1
解决办法
748
查看次数

在python中查找十进制数的小数部分的位数

python中给定一个Decimal数字,如何找到小数点后的位数?

assert digits(Decimal('1.2345')) == 4
assert digits(Decimal('1000'))   == 0
assert digits(Decimal('1.00'))   == 2
assert digits(Decimal('1E+5'))   == 0
assert digits(Decimal('1.2E+5')) == 0
Run Code Online (Sandbox Code Playgroud)

python numbers decimal

5
推荐指数
1
解决办法
3558
查看次数

重构此Python代码以迭代容器

当然有更好的方法来做到这一点?

results = []
if not queryset is None:
    for obj in queryset:
        results.append((getattr(obj,field.attname),obj.pk))
Run Code Online (Sandbox Code Playgroud)

问题是有时queryset是None,当我尝试迭代它时会导致异常.在这种情况下,我只想将结果设置为空列表.这段代码来自Django视图,但我认为不重要 - 这似乎是一个更普遍的Python问题.

编辑:我发现我的代码是将一个空的查询集转换为"无"而不是返回一个空列表.能够假设查询集始终是可迭代的,通过允许删除"if"语句来简化代码.下面的答案可能对有相同问题的其他人有用,但无法修改其代码以保证查询集不是"无".

python django refactoring iterator

3
推荐指数
2
解决办法
558
查看次数

是否在Google App Engine上运行的GWT应用程序受CSRF保护

我正在开发一个在Google App Engine上运行的GWT应用程序,想知道我是否需要担心跨站点请求伪造或者是否会自动为我处理?

对于每个需要身份验证的RPC请求,我都有以下代码:

public class BookServiceImpl extends RemoteServiceServlet implements
BookService {
    public void deleteInventory(Key<Inventory> inventoryKey) throws NotLoggedInException,  InvalidStateException, NotFoundException {
        DAO dao = new DAO();
            // This will throw NotLoggedInException if user is not logged in
        User user = dao.getCurrentUser();
            // Do deletion here
    }
}

public final class DAO extends DAOBase {
    public User getCurrentUser() throws NotLoggedInException {
            currentUser = UserServiceFactory.getUserService().getCurrentUser();
            if(currentUser == null) {
                throw new NotLoggedInException();
            }
        return currentUser;
    }
Run Code Online (Sandbox Code Playgroud)

我找不到任何关于UserService检查身份验证的文档.是否足以依赖上面的代码或我需要更多?我是初学者,但据我所知,为了避免CSRF攻击,一些策略是:

  1. 在请求有效负载中添加身份验证令牌,而不仅仅是检查cookie
  2. 检查HTTP Referer标头 …

java security gwt google-app-engine csrf

3
推荐指数
1
解决办法
618
查看次数

如何使用fill_value在pandas中重新采样TimeSeries?

我有一个TimeSeries整数,我想使用下采样resample().问题是我有一些时期丢失的数据被转换为NaN.由于pandas不支持整数NA值,因此整数将转换为浮点数.

是否有可能重新取样TimeSeries使用fill_value像我可以与丢失的数据reindex(fill_value=0)?我不希望我的整数投入花车.

>>> dates = (datetime(2013, 1, 1), datetime(2013,1,2), datetime(2013,3,1))
>>> s = Series([1,2,4],index=dates)
>>> s
2013-01-01    1
2013-01-02    2
2013-03-01    4
dtype: int64
>>> s.resample('M', how='sum')
2013-01-31     3
2013-02-28   NaN
2013-03-31     4
Freq: M, dtype: float64

# Desired output (doesn't work)
>>> s.resample('M', how='sum', fill_value=0)
2013-01-31     3
2013-02-28     0
2013-03-31     4
Freq: M, dtype: int64
Run Code Online (Sandbox Code Playgroud)

python time-series resampling pandas

3
推荐指数
1
解决办法
6186
查看次数

使用POST在网页中包含动态图像?

我编写了一个CGI脚本,使用GET数据动态创建图像.要在我的网页中包含此图片,我使用以下代码:

<img src="image.py?text=xxxxxxxxxxxxxx">
Run Code Online (Sandbox Code Playgroud)

问题是我希望将来"text"字段会变得很长,而且URL会变得太大.从谷歌搜索周围似乎没有固定的URL长度限制(即取决于浏览器,服务器,代理等)有没有更好的方法来做到这一点?

如果它很重要,我正在使用Django和Python,我不能使用任何客户端脚本(即JavaScript).

干杯,本

html python django cgi image

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

使用SSH连接到Amazon EC2实例时禁用未识别的主机确认

我正在使用boto和Python编写脚本来自动启动Amazon EC2实例并使用SSH与它进行交互.一切正常,但每次建立连接时,SSH都会提示我确认主机的真实性,如下所示:

The authenticity of host 'ec2-174-129-121-25.compute-1.amazonaws.com (174.129.121.25)' can't be established.
RSA key fingerprint is 26:09:bd:21:4f:55:20:3f:0d:fc:5f:cc:3e:08:30:db.
Are you sure you want to continue connecting (yes/no)? 
Run Code Online (Sandbox Code Playgroud)

我的SSH命令是:

ssh -i ssh2.pem root@ec2-174-129-121-25.compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

由于每个EC2实例都是一个新主机,我每次都必须确认这一点,但我想要一个没有任何用户输入的自动脚本.什么是最好的解决方案?

ssh amazon-ec2 ssh-keys boto amazon-web-services

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

使用事务从数据库中安全删除Django模型

在我的Django应用程序中,我具有从数据库中删除模型的单个实例的代码。两个并发请求都可能同时尝试删除同一模型。在这种情况下,我希望一个请求成功而另一个请求失败。我怎样才能做到这一点?

问题在于,当使用删除实例时delete(),Django不会返回有关命令是否成功的任何信息。此代码说明了问题:

b0 = Book.objects.get(id=1)
b1 = Book.objects.get(id=1)
b0.delete()
b1.delete()
Run Code Online (Sandbox Code Playgroud)

这两个delete()命令中只有一个实际上删除了该对象,但是我不知道哪个。不会引发任何异常,也不会返回任何指示命令成功的信息。在纯SQL中,该命令将返回删除的行数,如果该值为0,我知道删除失败。

我将PostgreSQL与默认的Read Commited隔离级别配合使用。我对此级别的理解是,每个命令(SELECT,DELETE等)都可以看到数据库的快照,但是下一个命令可以看到数据库的不同快照。我相信这意味着我不能做这样的事情:

# I believe this wont work
@commit_on_success
def view(request):
  try:
    book = Book.objects.get(id=1)
    # Possibility that the instance is deleted by the other request
    # before we get to the next delete()
    book.delete()
  except ObjectDoesntExist:
    # Already been deleted
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

database django postgresql transactions django-models

0
推荐指数
1
解决办法
2572
查看次数