小编Bry*_*ock的帖子

为什么我不能通过admin /?将jpg文件上传到我的Django应用程序?

我正在尝试在我的Django应用程序中为我的模型添加图像.

models.py

class ImageMain(models.Model):
  product = models.ForeignKey(Product)
  photo = models.ImageField(upload_to='products')
Run Code Online (Sandbox Code Playgroud)

在开发模式下,每次我尝试通过Django管理员上传图像时,我都会得到:

上传有效图片.您上传的文件不是图像或损坏的图像.

我通过fink安装了libjpeg,然后在ox X 10.5.7上安装了PIL 1.1.6

from PIL import Image
file = open('/Users/Bryan/work/review_app/media/lcdtvs/samsung_UN46B6000_front.jpg', 'r')
trial_image = Image.open(file)
trial_image.verify()
Run Code Online (Sandbox Code Playgroud)

似乎jpg基于该会话是有效的.但是,它不会加载.我尝试过其他jpgs,它们也不起作用.

怎么可能出错?

我能够成功上传一个png文件.

python django

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

如何使用manage.py dumpdata创建更漂亮的灯具?

我试图以更漂亮的方式打印我的Django灯具.

我输出了灯具:
python manage.py dumpdata >> fixture_app.json

这将在一行中创建一个包含1000个字符的文件.当我尝试使用文本编辑器(TextMate)查看文件时,编辑器会挂起.

无论如何,是否可以使用多条线以更漂亮的方式导出灯具?

django django-fixtures

17
推荐指数
1
解决办法
5205
查看次数

为什么我收到错误:命令'llvm-gcc-4.2'因退出状态1而失败

我正在设置os X 10.7.

我正在使用Python的默认安装:
/ Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/

我使用一个名为easy_install的基于Python的包管理器.Easy_install似乎无法找到编译器.

编辑:当我尝试安装MySQL-python时出现此错误:

$ sudo easy_install MySQL-python 
Password:
Searching for MySQL-python
Reading http://pypi.python.org/simple/MySQL-python/
Reading http://sourceforge.net/projects/mysql-python/
Reading http://sourceforge.net/projects/mysql-python
Best match: MySQL-python 1.2.3
Downloading http://download.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.3.tar.gz
Processing MySQL-python-1.2.3.tar.gz
Running MySQL-python-1.2.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-P9H9WX/MySQL-python-1.2.3/egg-dist-tmp-rRTfZL
warning: no files found matching 'MANIFEST'
warning: no files found matching 'ChangeLog'
warning: no files found matching 'GPL'
unable to execute llvm-gcc-4.2: No such file or directory
error: Setup script exited with error: command 'llvm-gcc-4.2' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

错误:安装脚本退出并显示错误:命令'llvm-gcc-4.2'失败,退出状态为1

Xcode 4.1使用了GCC,但Xcode 4.2似乎已经改变了. …

python llvm easy-install osx-lion

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

我可以使用Color输出Python调试器pdb吗?

我正在使用PDB,如果我可以添加颜色的systax突出显示它会更好.

理想情况下,我希望代码的路径更轻一些.实际代码行将突出显示语法.

我正在使用OS X和终端应用程序.Python 2.7

python debugging terminal pdb

13
推荐指数
3
解决办法
4152
查看次数

在Ubuntu 10.4上安装Python-2.7

我似乎无法正确安装zlib,我在Ubuntu10.4上从源代码安装了Python

'######## edit #####################
bobince和Luper帮忙.
确保安装这些软件包,然后重新编译Python:
sudo aptitude install zlib1g-dev libreadline6-dev libdb4.8-dev libncurses5-dev
'##################### ############

安装后,我尝试安装setuptools.py

$ sh setuptools-0.6c11-py2.7.egg   
Traceback (most recent call last):  
  File "<string>", line 1, in <module>  
zipimport.ZipImportError: can't decompress data; zlib not available  
Run Code Online (Sandbox Code Playgroud)

然后我安装了zlib:

$ sudo aptitude install zlibc  
Reading package lists... Done  
Building dependency tree         
Reading state information... Done  
Reading extended state information        
Initializing package states... Done  
The following NEW packages will be installed:  
  zlibc   
0 packages upgraded, 1 newly installed, 0 to remove and …
Run Code Online (Sandbox Code Playgroud)

python zlib setuptools

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

GO在哪里寻找google-cloud-sdk?GOPATH应该是什么?

我在osX上设置Go App引擎时遇到了麻烦.google-cloud-sdk路径应该在GOROOT还是GOPATH?

我把google-cloud-sdk放在/ usr/local中

看起来有源代码:goroot /

/usr/local/google-cloud-sdk/platform/google_appengine/goroot/
Run Code Online (Sandbox Code Playgroud)

去环境

GOPATH="/usr/local/google-cloud-sdk/platform/google_appengine/goroot"  
GORACE=""  
GOROOT="/usr/local/go"  
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64" 
Run Code Online (Sandbox Code Playgroud)

$ go get

package google.golang.org/appengine: cannot download, /usr/local/google-cloud-sdk/platform/google_appengine/goroot is a GOROOT, not a GOPATH. For more details see: 'go help gopath'   
package google.golang.org/appengine/datastore: cannot download, /usr/local/google-cloud-sdk/platform/google_appengine/goroot is a GOROOT, not a GOPATH. For more details see: 'go help gopath'  
Run Code Online (Sandbox Code Playgroud)

当我尝试将PATH更改为include/src时:

GOPATH="/usr/local/google-cloud-sdk/platform/google_appengine/goroot/src"  
Run Code Online (Sandbox Code Playgroud)

$ go get

package google.golang.org/appengine: mkdir /usr/local/google-cloud-sdk/platform/google_appengine/goroot/src/src: permission denied  
package google.golang.org/appengine/datastore: cannot find package "google.golang.org/appengine/datastore" in any of:  
    /usr/local/go/src/google.golang.org/appengine/datastore (from $GOROOT)  
    /usr/local/google-cloud-sdk/platform/google_appengine/goroot/src/src/google.golang.org/appengine/datastore (from $GOPATH)  
Run Code Online (Sandbox Code Playgroud)

我将google-cloud-sdk的路径添加到GOROOT:

export GOROOT="/usr/local/go/:/usr/local/google-cloud-sdk/platform/google_appengine/goroot" …
Run Code Online (Sandbox Code Playgroud)

google-app-engine go

13
推荐指数
1
解决办法
1402
查看次数

如何修复Google-cloud-sdk 156.0.0"您的应用程序中有太多文件需要对所有文件进行更改才能进行监控."?

我刚刚在osX上安装了Go 1.6.4和google-cloud-sdk 1.56.0.0.

当我尝试运行本地dev_server时,我收到以下警告.

/Users/Bryan/go/src/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/mtime_file_watcher.py:156:用户警告:您的应用中有太多文件要求将所有文件更改为受到监控.您可能必须重新启动开发服务器才能看到对文件的某些更改.

我该如何解决?

这是项目,只有4个文件:

$ ls
total 32
drwxrwxrwx   6 Bryan  staff   204 May 23 15:57 .
drwxr-xr-x  10 Bryan  staff   340 May 25 18:39 ..
-rwxrwxrwx@  1 Bryan  staff    69 Mar 22 09:40 app.yaml
-rw-r--r--   1 Bryan  staff   554 Mar 28 09:26 index.yaml
-rwxrwxrwx@  1 Bryan  staff  3015 May 25 18:36 skincare.go
-rw-r--r--   1 Bryan  staff   870 May  3 09:18 skincare_test.go
Run Code Online (Sandbox Code Playgroud)

我也有一个问题,即"试图"尝试编译代码而不是下载远程软件包"google.golang.org/appengine".

$ go get

# import "google.golang.org/appengine" is ignored and "go get" yields this error: …
Run Code Online (Sandbox Code Playgroud)

google-app-engine go

12
推荐指数
1
解决办法
1121
查看次数

如何使用Django South为现有App创建新数据库并设置默认值?

我正在使用一个使用South迁移数据库的操作系统项目.我正在从头开始构建一个新的数据库,我想确保设置South以便将来轻松更新数据库.

看来这个过程应该是:

  1. 创建数据库
  2. 执行syncdb
  3. 迁移

但是,当我尝试迁移数据库时,早期迁移之一(迁移0004并且转到0009)会引发异常:

ValueError: You cannot add a null=False column without a default value.
Run Code Online (Sandbox Code Playgroud)

我不明白如何向迁移0004添加默认值,因此不会抛出此异常.

由于数据库为空,因此无需运行迁移.

但是, south_migrationhistory必须包含所有迁移的列表以及何时应用它们.

我试图破解它,只是手动将迁移0009添加到数据库,但这引发了另一个错误,因为尚未运行中间迁移.我还尝试向数据库添加一个字段,以查看我是否能够找出add_column的语法,其默认值为0.该格式与这些较旧的迁移完全不同.

以下是add_column语法的2个不同版本:

#0004 syntax:  
db.add_column('experiments_dailyreport', 'test_group_size', orm['experiments.dailyreport:test_group_size'])
#0009 syntax:
syntax db.add_column('experiments_dailyreport', 'test_group_size', self.gf('django.db.models.fields.IntegerField')(default=0), keep_default=False)
Run Code Online (Sandbox Code Playgroud)

所以,我猜测在创建0004和今天之间南方代码发生了变化.

有没有办法用syncdb构建数据库,然后以某种方式更新south_migrationhistory而不运行manage.py migrate?

如果您有一个具有南迁移的现有应用程序,您将如何从头开始构建新数据库?

我无法迁移,因为整数字段没有默认设置.如何在较早的迁移中设置默认值?该领域甚至不再存在.

尝试语法:

db.add_column('experiments_dailyreport', 'test_group_size', orm['experiments.dailyreport:test_group_size'], {'default': 0})
#throws ValueError: You cannot add a null=False column without a default value.
db.add_column('experiments_dailyreport', 'test_group_size', self.gf('django.db.models.fields.IntegerField')(default=0), keep_default=False)
#throws AttributeError: Migration instance has no attribute 'gf'
Run Code Online (Sandbox Code Playgroud)

我正在使用South-0.7.2-py2.7.egg

django django-database django-south

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

如何从Google OpenID Connect获取ID_token的示例

我正在尝试从OpenID获取用户信息

https://developers.google.com/identity/protocols/OpenIDConnect#exchangecode

我收到来自的令牌响应:

tok, err := bookshelf.OAuthConfig.Exchange(context.Background(), code)
Run Code Online (Sandbox Code Playgroud)

我可以检查tok并看到有一个id_token元素:

log.Printf("************ tok  contains %#v", tok)

2019/05/13 15:11:24 ************ tok  contains &oauth2.Token{AccessToken:"XXXXXXXXXXX", TokenType:"Bearer", RefreshToken:"", Expiry:time.Time{wall:0xbf2f2c6b181f7b0f, ext:3608126524112, loc:(*time.Location)(0x18516e0)}, raw:map[string]interface {}{"scope":"openid https://www.googleapis.com/auth/profile.emails.read", "token_type":"Bearer", "id_token":"Base64-encodedJSONobject", "access_token":"HASH", "expires_in":3600}}
Run Code Online (Sandbox Code Playgroud)

我不明白如何从中提取索赔id_token。在哪里可以找到从JWT获取有效负载的示例id_token

当我尝试解码 id_token

id_token := base64.StdEncoding.DecodeString(tok.id_token)
Run Code Online (Sandbox Code Playgroud)

我得到这些错误:

multiple-value base64.StdEncoding.DecodeString() in single-value context

/var/folders/mw/0y88j8_54bjc93d_lg3120qw0000gp/T/tmpbPyjTZappengine-go-bin/auth.go:133:49: tok.id_token undefined (type *oauth2.Token has no field or method id_token)
Run Code Online (Sandbox Code Playgroud)

如何使用OpenID(而不是Google+)实现与下面的fetchProfile函数等效的功能?

我只能找到不推荐使用的Google+库:

func oauthCallbackHandler(w http.ResponseWriter, r *http.Request) *appError {
    oauthFlowSession, err := bookshelf.SessionStore.Get(r, r.FormValue("state"))
    if …
Run Code Online (Sandbox Code Playgroud)

go google-oauth openid-connect

11
推荐指数
1
解决办法
270
查看次数

为什么我在Mac OS X终端应用程序中键入时不显示标准输入?

我对我的Mac OS X终端和我的Django manage.pyshell和pdb 的一些行为感到困惑.

当我启动一个新终端时,标准输入显示为我输入.但是,如果出现错误,屏幕上不会突然显示标准输入.此错误一直持续到我关闭该终端窗口为止.

输入仍然被捕获,因为我可以看到标准输出.

例如,pdb.set_trace()我无法在代码中显示我所在的位置.但是,'l'不会显示,只是空提示.

这使得调试变得困难,因为我无法确定我输入的内容.

可能出现什么问题,我该怎么做才能解决它?

python django macos shell terminal

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