小编Spi*_*ike的帖子

升级到OSX 10.7 Lion后修复Postgresql

我最近升级到OSX 10.7,此时我的rails安装在尝试连接到psql服务器时完全被堵塞了.当我从命令行使用时

psql -U postgres
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但是当我尝试使用相同的用户名和密码运行rails服务器或控制台时,我收到此错误

...activerecord-3.0.9/lib/active_record/connection_adapters/postgresql_adapter.rb:950:in `initialize': could not connect to server: Permission denied (PGError) 
Is the server running locally and accepting
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)

任何可能发生的想法都会非常有用!谢谢!

postgresql macos ruby-on-rails ruby-on-rails-3 osx-lion

196
推荐指数
6
解决办法
6万
查看次数

客户是否应该使用GET或POST获取OAuth 2访问令牌?

OAuth 2.0草案v2-22第3.2节说:

在发出访问令牌请求时,客户端必须使用HTTP"POST"方法.

但是,如果您查看FacebookFoursquare OAuth2实现,他们会要求客户端发出一个简单的GET请求来请求访问令牌.他们要求客户将client_id和client_secret放在URL中.

我正在构建OAuth 2服务器,在看到Facebook和Foursquare的实现后,我强烈考虑打破协议,允许客户端通过GET请求访问令牌.我的网站使用的是SSL,类似于Facebook和Foursquare.

所以我的问题是:我有什么理由不允许客户通过HTTPS通过GET方法请求访问令牌吗?

authentication https authorization oauth oauth-2.0

24
推荐指数
1
解决办法
9468
查看次数

如何在Django中引发410错误

我想为我的一些Django页面返回410错误,而不是返回404.基本上,raise Http404('some error message')我不想打电话,而是打电话给raise Http410('some error message')快捷方式.

我很困惑因为在django.http中,函数Http404很简单:

class Http404(Exception):
    pass
Run Code Online (Sandbox Code Playgroud)

所以,如果我做同样的事情并创建我的Http410函数,我会认为它看起来像:

class Http410(Exception):
    pass
Run Code Online (Sandbox Code Playgroud)

但是,这样做会返回异常,但会提供500错误页面.如何重新创建Http404异常的魔力?我应该注意,我需要从我的模型(而不是视图)中引发异常,所以我不能只返回一个HttpResponseGone.

提前致谢!

更新:我完全了解HttpResponseGone,并在我原来的问题中提到了这一点.我已经知道如何在我的观点中返回这个.我的问题是:你如何提出一个Http 410异常与你如何引发Http 404异常类似?我希望能够在任何地方提出这个例外,而不仅仅是在我的观点中.谢谢!

python django error-handling httpresponse http-status-code-410

10
推荐指数
3
解决办法
9027
查看次数

使用Django South从具体继承转移到抽象继承

我有一个现有的Django项目,它有几个使用基类的具体继承的模型.在仔细考虑之后,在阅读了像雅各布·卡普兰 - 莫斯这样的人对此有所说明后,在我的案例中使用这种具体的继承是不必要的.我想迁移到使用抽象基类.

使这个变得复杂的是我的网站是实时的,我有用户输入的数据.因此,在整个转换过程中,我需要保持所有数据的完整性.

我举一个更具体的例子:

之前:

APP1/models.py:

class Model1(base_app.models.BaseModel):
    field1 = models.CharField(max_length=1000)
    field2 = models.CharField(max_length=1000)
Run Code Online (Sandbox Code Playgroud)

APP 2/models.py:

class Model2(base_app.models.BaseModel):
    field1 = models.CharField(max_length=1000)
    field2 = models.CharField(max_length=1000)
Run Code Online (Sandbox Code Playgroud)

base_app/models.py:

class BaseModel(models.Model):
    user = models.ForeignKey(User)
    another_field = models.CharField(max_length=1000)
Run Code Online (Sandbox Code Playgroud)

后:

APP1/models.py:

class Model1(base_app.models.BaseModel):
    field1 = models.CharField(max_length=1000)
    field2 = models.CharField(max_length=1000)
Run Code Online (Sandbox Code Playgroud)

APP 2/models.py:

class Model2(base_app.models.BaseModel):
    field1 = models.CharField(max_length=1000)
    field2 = models.CharField(max_length=1000)
Run Code Online (Sandbox Code Playgroud)

base_app/models.py:

class BaseModel(models.Model):
    user = models.ForeignKey(User)
    another_field = models.CharField(max_length=1000)

    class Meta:
        abstract = True
Run Code Online (Sandbox Code Playgroud)

现在,我的计划是首先添加abstract = True到BaseModel.然后,对于每个使用的模型BaseModel,一次一个:

  • 使用south迁移数据库并使用--auto标志创建此迁移
  • 使用南数据迁移.例如,我将循环遍历Model1中的每个对象,以获取具有相同pk的BaseModel中的对象,并将BaseModel对象的每个字段的值复制到Model1对象.

首先,这会有用吗?第二,有更好的方法吗? …

python migration django django-south

10
推荐指数
1
解决办法
1928
查看次数

使用GAE数据存储区的复杂查询

我正处于开发体育统计网站(终极飞盘)的早期阶段,如果Google App Engine适合我,我想知道您的意见.

我使用Django在Python中编写它并且已经习惯了标准的RDBMS多年,但是这个站点是一个长期项目,我期待非常大量的数据,所以我希望GAE数据存储提供"无限"的扩展.绝大多数对数据库的查询都会返回非常标准的结果,这会使数据存储看起来像是一个合理的选择.但是,我希望将来能够提出极其复杂的查询来提出新的统计指标,或者只是想出有趣的结果.我计划将来做很多这样的事情,但是在收集数据之前不会知道这些查询是什么.

例如,你经常看到棒球统计分析师提出荒谬的统计数据,例如"这是过去50年来第一次两名左手投手,其姓氏以'Z'开头,连续投出一击天".我希望将来能够灵活地提出任何疑问.:)

但是,我认为像bigtable这样的非关系型数据库需要您预先提供包含冗余数据的模型,并且所有工作都在插入而不是提取上进行.我已经构建了几乎包含我需要查询的所有数据的django模型,但是我不知道从现在开始我想要一年或两年的非规范化模型.因此,我觉得在GAE数据存储区中进行复杂查询将是非常困难的,并且需要我在python中处理它之前从服务器上提取大量信息.

谷歌应用引擎数据存储是否完全错误,我想做什么?或者我只是缺少一些东西.非常感谢提前!

更新: 感谢目前为止的回复.我意识到我还应该提到很多这些复杂的查询是我希望用户能够做的查询,因此使得脱机数据库不是一个真正的选择.例如,用户应该能够看到各种特定玩家在特定游戏或季节期间同时在场上时的比赛的各种统计数据.虽然这些查询不像标准聚合统计数据那样频繁,但它们仍然会定期发生.

拥有关系数据库以及GAE数据存储区会很棒,但django默认情况下不支持多个db,并且一起修补解决方案听起来很困难而且很混乱.Eric Florenzano 为使用django模型的两个数据库提供了一个很好的解决方案,但如果我使用GAE数据存储区,我将不得不使用app引擎的db模型.并且提出了一个很好的解决方案,就像他为这个复杂问题所做的那样,在这一点上有点超出我的技能水平.

现在我最喜欢的两个选项是使用GAE任务队列来执行困难的查询,或者使用像webfaction这样的更标准的webhost,然后在我的数据增长后再对我的表进行非规范化,我需要提高性能.

django google-app-engine database-design non-relational-database google-cloud-datastore

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

如何在jQuery Mobile导航栏中添加/删除元素?

在jQuery Mobile中,假设我有以下导航栏:

<div data-role="navbar">
    <ul>
        <li><a id="item1">Item 1</a></li>
        <li><a id="item2">Item 2</a></li>
        <li><a id="item3">Item 3</a></li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

然后,我可以使用jQuery删除项目,使其看起来像:

<div data-role="navbar">
    <ul>
        <li><a id="item1">Item 1</a></li>
        <li><a id="item3">Item 3</a></li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

但是,jQuery Mobile仍然将它呈现为好像有三个选项卡,而在中间选项卡中,没有任何内容.因此,不是每个标签间隔宽度的1/2,而是两个剩余标签中的每一个仅占宽度的1/3.

我仔细看了看和jQuery Mobile的自动添加一个类的<ul>所谓"UI网-B"元素,如果我改变手动"UI并网一个"随后看起来很好,两个标签占据整个宽度.但是,手动更改这些类似乎过于苛刻,我猜测有更好的方法.有任何想法吗?

javascript jquery jquery-mobile

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

用于操纵多元多项式的库

我需要编写一些代码来处理生成和操作多元多项式.我将用简化的例子概述我的任务.

假设我有三个表达式:2x ^ 2,3y + 1和1z.然后我需要将这些相乘,这将给我6x ^ 2yz + 2x ^ 2z.然后我想找到关于x,y和z的这个表达式的偏导数.这将给我12xyz + 4xz,6x ^ 2z和6x ^ 2y + 2x ^ 2.

我的问题涉及对包含数千个变量的表达式进行这样的简单操作,我需要一种简单的方法来系统地执行此操作.我真的很想使用python,因为我已经使用numpy/scipy/matplotlib完成了许多与项目相关的功能,但如果有另一种语言的强大工具箱,我也可以使用它.我正在做大学研究,所以我也愿意使用Matlab.

我还没有找到任何能够轻松地为我做这件事的好的python库,理想情况下我想要类似于可以在多维多项式上工作的scipy多项式例程.有没有人知道一个好的库,似乎适合这个问题,并很容易集成到已有的python代码?

谢谢!

跟进:我花了几天时间与sympy一起工作,结果很容易使用.但是,对于我正在处理的问题的大小来说,这很慢,所以我现在将探索matlab.为了使用小样本量对速度进行极其粗略的估计,计算包含250个变量的2阶多项式的每个偏导数花费大约5秒.

跟进#2:当我还在处理这个问题时,我可能应该已经做到了这一点,但我不妨让大家都知道matlab符号库在速度上非常具有可比性.换句话说,它对于大型计算来说是非常慢的.这两个库都非常容易使用,因此对于小型计算,我强烈推荐.

为了解决我的问题,我手动计算了渐变,简化了它们,然后使用我发现的模式来硬编码我的代码中的一些值.这是更多的工作,但使我的代码指数更快,最终可用.

python math matlab numpy scipy

8
推荐指数
1
解决办法
2531
查看次数

使用Python在字符串中转义字符

我做了一个JSON请求,它给了我一个使用Unicode字符代码的字符串,如下所示:

s = "\u003Cp\u003E"
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

s = "<p>"
Run Code Online (Sandbox Code Playgroud)

在Python中执行此操作的最佳方法是什么?

注意,这是与问题相同的问题,仅在Python中除了Ruby之外.我也在使用Posterous API.

python unicode json escaping posterous

7
推荐指数
2
解决办法
9910
查看次数

Django重定向到自定义URL

从我的Django应用程序,如何将用户重定向到somescheme://someurl.com?

为了给你一些上下文以防万一,我有一个用Python/Django编写的工作oauth2服务器,我需要允许用户注册具有自定义URL方案的redirect_uris.此自定义URL方案用于处理本机应用程序中的重定向.

我的第一反应是使用HttpResponseRedirect,但是这个URL有一个自定义方案而且不是HTTP所以我猜这不是我想要的.提前感谢您提出的任何建议.

编辑:我确实尝试了这一点,Django正确返回响应重定向而不会抛出错误,但浏览器不会重定向到此URL.我正在使用Chrome来测试这个.

编辑2:HttpResponseRedirect在safari中工作正常.

python django custom-url ios oauth-2.0

6
推荐指数
2
解决办法
8681
查看次数

app-engine-patch已经死了.现在,在Google App Engine上使用Django的最佳方式是什么?

app-engine-patch作者正式将这个精彩的项目标记为在他们的网站上死亡.在过去的一年中,很多人都问过在Google App Engine上运行Django的最佳方式是什么,并且人们一次又一次指出app-engine-patch是最佳选择.既然这个项目已经死了,我很乐意重温这个讨论,看看你们都会推荐什么.

旧的app-engine-patch网站引用了一个名为djangoappengine的不同项目.它侧重于在App Engine上使用Native Django,但这样做似乎限制了您使用App Engine所有功能的能力(例如其内置的用户模型).作为替代解决方案,您对此有何看法?

现在,app-engine-patch已经死亡,那么Django项目的Google App Engine Helper现在看起来更具吸引力吗?

或者app-engine-patch仍然如此之大,以至于尽管它已经死了你仍会建议仍然使用它?

我目前有一个项目处于中间阶段,依赖于app-engine-patch,并且喜欢使用它到目前为止,但我害怕继续使用已经死亡的项目.如果您对现在最好的长期解决方案有何看法,我将不胜感激.谢谢!

python django google-app-engine app-engine-patch

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

用于有条件地分配变量的Python简写

我发现自己经常写这样的东西而且看起来太罗嗦了:

obj = my_dict.get('obj')
if obj:
    var = obj
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?也许在一条线?

python

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