小编Mc-*_*Mc-的帖子

将对象从Django传递到Javascript DOM

我正在尝试将一个来自Django的查询集传递给一个带有javascript的模板.

我尝试过不同的方法来解决这个问题:

1.正常方法 - 由于命名法,Javascript会因为尝试解析对象而搞得一团糟[> Object:ID<> Object:ID< ...]

Django View

django_list = list(Some_Object.objects.all())
Run Code Online (Sandbox Code Playgroud)

模板HTML + JS

<script type="text/javascript" >
    var js_list = {{django_list}};
</script>
Run Code Online (Sandbox Code Playgroud)

2. JSON方法 - Django无法将对象列表转换为json字符串,而不是JSON可序列化的

Django View

django_list = list(Some_Object.objects.all())
json_list = simplejson.dumps(django_list)
Run Code Online (Sandbox Code Playgroud)

模板HTML + JS

<script type="text/javascript" >
    var js_list = {{json_list}};
</script>
Run Code Online (Sandbox Code Playgroud)

所以,我需要一些帮助:)

有人有任何建议/解决方案吗?

谢谢!

javascript python django json dom

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

如何为多个属性创建CABasicAnimation?

我有这个代码来动画CALayer元素.

CABasicAnimation *makeBiggerAnim=[CABasicAnimation animationWithKeyPath:@"radius"];
makeBiggerAnim.duration=0.2;
makeBiggerAnim.fromValue=[NSNumber numberWithDouble:20.0];
makeBiggerAnim.toValue=[NSNumber numberWithDouble:40.0];
makeBiggerAnim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
Run Code Online (Sandbox Code Playgroud)

我的问题是,现在一切正常,我想同时使用同一元素的另一个属性.我见过你可以做添加动画和东西.

我的问题是:

  • 添加剂属性是最好/唯一的方法吗?(一次动画同一对象的多个属性)

谢谢!

animation core-animation caanimation ios

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

错误:没有名为staticfiles的模块

我是django的新手,我正在尝试在生产服务器上部署我的项目,但是我收到了这个错误:

Error: No module named staticfiles
Run Code Online (Sandbox Code Playgroud)

尝试启动服务器时:

python manage.py runfcgi host=127.0.0.1 port=8081 --settings=settings
Run Code Online (Sandbox Code Playgroud)

使用fastCGI + nginx

任何的想法?

谢谢!

python deployment django nginx

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

Google应用引擎 - 使用Google,Facebook登录

我希望我的应用程序的用户在Google应用程序引擎中托管,使用我的Google帐户或Facebook帐户以与StackExchange相同的方式登录.

我对此有一些疑问:

  1. 我想看一些基本登录的教程
  2. 我想在社交登录(Google,Facebook等)上看到一些教程.

google-app-engine facebook login oauth

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

CSS:文本大小的背景颜色

我想为文本的背景着色,但仅限于它的大小.

图像胜过千言万语,这就是我想要实现的目标:

在此输入图像描述

这就是我所取得的成就

在此输入图像描述

我不想以编程方式执行此操作,我希望背景能够适应文本(因为它可能是动态的)

反正有没有使用javascript吗?

更新(HTML):

<div class="team-member-teaser-name">OSCAR</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.team-member-teaser-name
{
    color: #4fb4d0;
    background: #135364;
    margin-top: 5px;
    margin-bottom: 5px;
    padding-left: 5px;
    font-size: 10px;
}
Run Code Online (Sandbox Code Playgroud)

更新(已解决,基于@BoldClock答案):

.team-member-teaser-name
{
    color: #4FB4D0;
    background: #135364;
    margin-top: 5px;
    padding-left: 5px;
    font-size: 10px;
    display: inline;
    float: left;
    padding-right: 9px;
    clear: both;
}
Run Code Online (Sandbox Code Playgroud)

我真的不明白它是如何清晰的,但是需要在图像上实现结果.

css

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

从装饰器访问函数参数

我有一个Request处理程序和一个装饰器,我想使用装饰器中的self对象

class MyHandler(webapp.RequestHandler):

    @myDecorator
        def get(self):
            #code
Run Code Online (Sandbox Code Playgroud)

更新:请注意第一和第二个自我之间的区别

class myDecorator(object):

    def __init__(self, f):
        self.f = f

    def __call__(self):
        #work with self
Run Code Online (Sandbox Code Playgroud)
  1. MyHandler> get(功能)> self(参数)
  2. myDecorator> __call__(功能)> self(参数)

上面提到的自我论证是不同的.我的目的是从内部__call__函数访问第一个self ,或者找到一种类似的方法.

您好,我可以从装饰器内的get函数访问MyHandlers自身参数吗?

Update2:我想实现一个装饰器来使用谷歌应用引擎中的自定义登录:

我有一个类(requestHandler):

class SomeHandler(webapp.RequestHandler):
    @only_registered_users
    def get(self):
        #do stuff here
Run Code Online (Sandbox Code Playgroud)

我想装饰get函数以检查用户是否登录:

from util.sessions import Session
import logging

class only_registered_users(object):

    def __init__(self, f):
        self.f = f

    def __call__(self):
        def decorated_get(self):
        logging.debug("request object:", self.request)
        session = Session()

        if hasattr(session, 'user_key'):
            return self.f(self)
        else:
            self.request.redirect("/login") …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine decorator

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

在OpenGL ES/iOS/Cocos2d中叠加颜色混合

我正在尝试将BlendModes应用于GreyScale图像,以便拥有可重用的静态资源

我一直在网上搜索几个小时,我做了自己的测试,但我找不到任何解决方案.

我从这张图片开始:

在此输入图像描述

其基本思想是在某种颜色上绘制一个矩形,并将混合模式应用于只有alpha为1.0的图像

这是代码(这是Cocos2d项目的一部分,虽然我认为它可以应用于通用OGL ES):

-(void)draw
{
    [super draw];

    glBlendColor(0,255,0,255);

    glBlendFunc(GL_ZERO, GL_SRC_COLOR);
    glColor4ub(255, 0, 255, 255);
    glLineWidth(2);
    CGPoint vertices2[] = { ccp(0,100), ccp(100,100), ccp(100,0) };
    [ DrawingHelper  drawPolygonWithPoints:vertices2 points:3 closePolygon:YES];

}
Run Code Online (Sandbox Code Playgroud)

*绘制助手是绘制三角形的逻辑.

+(void)drawPolygonWithPoints:(CGPoint *)poli points:(int)points closePolygon:(BOOL)closePolygon
{
    glDisable(GL_TEXTURE_2D);
    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
    glDisableClientState(GL_COLOR_ARRAY);
    glVertexPointer(2, GL_FLOAT, 0, poli);

    if( closePolygon )
        glDrawArrays(GL_TRIANGLE_FAN, 0, points);
    else
        glDrawArrays(GL_LINE_STRIP, 0, points);

    glEnableClientState(GL_COLOR_ARRAY);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    glEnable(GL_TEXTURE_2D);
}
Run Code Online (Sandbox Code Playgroud)

这里有一些结果:

在此输入图像描述 在此输入图像描述

你可以看到一个很好的近似值,但这两个图像有错误:

OpenGL错误0x0502 in - [EAGLView swapBuffers]

我的问题是:

  1. 如何删除或修复此错误?
  2. 如何只保留图像的alpha(屏蔽)并应用混合叠加颜色?

[更新]这是我想要的一个例子(使用正确的混合):

在此输入图像描述

iphone opengl-es cocos2d-iphone ios

7
推荐指数
1
解决办法
9380
查看次数

Nginx try_files(文件夹+文件)后备

鉴于此文件夹结构:

root folder
    + default
        + settings1.txt
        + settings2.txt
        ...
        + settingsN.txt
    + user00001
        + settings1.txt
        ...
    ...
    + userN
        + settings1.txt
        ...
Run Code Online (Sandbox Code Playgroud)

这个例子url:

domain.com/user00009/settings1.txt
Run Code Online (Sandbox Code Playgroud)

要么

domain.com/xavi/somefile.txt
Run Code Online (Sandbox Code Playgroud)

我想写一条让我这样做的规则:

folder exists ? check file : 404

file exists ? serve users file : serve default file
Run Code Online (Sandbox Code Playgroud)

我尝试使用try_files,但我认为我只能使用$ uri我得到整个网址,如果我可以使用slug会很好($ 1 = user00009&$ 2 = settings1.txt)

那么也许我可以把:

location / {
   root /...
   try_files $1/$2 default/$2 =404;
}
Run Code Online (Sandbox Code Playgroud)

任何的想法?

注意:我知道我可以从nginx外部服务器文件(在这种情况下是django)但我试图加快速度

nginx

7
推荐指数
1
解决办法
5981
查看次数

Tastypie - 找不到嵌套资源字段

我有这个代码:

#api model 

class VideoResource(ModelResource):
    class Meta:
        queryset = Video.objects.all()
        include_resource_uri = False
        resource_name = 'video'
        authorization = DjangoAuthorization()

class QuestionResource(ModelResource):

    user = fields.ToOneField(UserResource,'user',full=True)
    video = fields.ForeignKey(VideoResource,'video',full=True)

    class Meta:
        queryset = Question.objects.all()
        resource_name = 'question'
        include_resource_uri = False
        authorization = DjangoAuthorization()

    def obj_create(self, bundle, request=None, **kwargs):
        import json
        temp = json.loads(request.body, object_hook=_decode_dict)
        video = Video.objects.get(pk=temp['video'])
        return super(QuestionResource, self).obj_create(bundle, request, user=request.user, video=video)

#model

class Question(models.Model):
    text = models.CharField('Question',max_length=120)
    created = models.DateTimeField(auto_now_add=True)
    enabled = models.BooleanField(default=True)
    flag = models.BooleanField(default=False)
    allow_comments = models.BooleanField(default=True)
    thumbnail_url …
Run Code Online (Sandbox Code Playgroud)

python django tastypie

7
推荐指数
1
解决办法
2217
查看次数

Python,Sqlite 未将结果保存在文件中

我在 Python 中有这个代码:

conn = sqlite3.connect("people.db")
cursor = conn.cursor()

sql = 'create table if not exists people (id integer, name VARCHAR(255))'
cursor.execute(sql)
conn.commit()

sql = 'insert into people VALUES (3, "test")'
cursor.execute(sql)
conn.commit()   

sql = 'insert into people VALUES (5, "test")'
cursor.execute(sql)
conn.commit()  

print 'Printing all inserted'
cursor.execute("select * from people")
for row in cursor.fetchall():
    print row

cursor.close()
conn.close()
Run Code Online (Sandbox Code Playgroud)

但似乎永远不会保存到数据库中,数据库上总是有相同的元素,就好像它没有保存任何东西一样。

另一方面,如果我尝试通过 sqlite 访问 db 文件,则会出现此错误:

Unable to open database "people.db": file is encrypted or is not a database
Run Code Online (Sandbox Code Playgroud)

我在其他一些答案中找到了使用conn.commit …

python database sqlite

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