我的应用程序位于Facebook画布外.Facebook请求对话框2.0仅重定向到画布URL,例如.apps.ibibo.com/YOURAPP.如何让它打开自定义网址?这可以在传统的FBML表单中使用fb:request-form和设置req-url.
请求2.0仅限于Facebook内部URL吗?我的要求是发送游戏请求,但我的游戏位于Facebook外面.即点击"接受"时,应该打开网址
" http://www.mydomain.com/mygame "而不是
" http://apps.facebook.com/mygame ".

这些方法似乎不符合我的要求:http: //developers.facebook.com/docs/reference/dialogs/requests/ (只有canvas url重定向)
我想到了一个解决方法:用户单击"接受"并进入画布URL,并从画布URL,我将他重定向到我在facebook外面的URL.但我不确定这是否符合Facebook政策?(在第一段第4点提到:http://developers.facebook.com/blog/)
举一个简单的例子,假设一个实用方法,它接受一个python对象input_obj,并且out_type,一个python type将该对象转换(类型转换)为
def convert_obj(input_obj,out_type):
Run Code Online (Sandbox Code Playgroud)
-例子
convert_obj('2','int')
#returns 2
convert_obj([1,2,3],'tuple')
#returns (1,2,3)
Run Code Online (Sandbox Code Playgroud)
该方法仅支持特定类型的对象,如str,list,tuple,然后检查是否可以将其转换为指定的out_type.这是方法中的规则手册:
supported_conversions = {
tuple: [str, list, set],
str: [tuple, float, list, long, int, set],
float: [str, long, int],
list: [tuple, str, set],
long: [str, float, int],
dict: [tuple, str, list, set],
int: [str, float, long],
set: [tuple, str, list],
}
Run Code Online (Sandbox Code Playgroud)
其中的键supported_conversions是input_obj的允许类型.
问题:除了在所有可能的python类型的列表上使用try/except来转换每种类型的样本对象,然后查看有效的内容,例如检查str[list,dict,tuple,int,tuple,set]的转换是有一个更好的方法在python中生成dict supported_conversions,给它的键?
注意:要忽略类型转换的其他异常.例如,"1"可以转换为整数1,但"XYZ"不能.但这仍然意味着str-> int是一种有效的可能转换.
对于这种特定情况,一切正常,除非是字段field1,field2请求,并且field1是其中的一部分field2.
示例:
> db.mycoll.findOne()
{
"_id" : 1,
"data" : {
"amounts" : {
"dollar" : 20,
"euro" : 18
},
"item" : "toy",
"sale" : false
}
}
// works well
> db.mycoll.findOne({"_id":1},{ "data.amounts.dollar":1 })
{ "_id" : 1, "data" : { "amounts" : { "dollar" : 20 } } }
// here "data" is root of "data.amounts.dollar" and "data.amounts.euro"
// takes preference, how to query for "data", so
// that …Run Code Online (Sandbox Code Playgroud) 我注意到facebook graph api为所有方法返回的JSONP输出中有一个空注释块.
我打过的网址:
https://graph.facebook.com/NUMERIC_FACEBOOK_ID/friends?access_token=ACCESS_TOKEN_STRING&callback=theGreatFunction
Run Code Online (Sandbox Code Playgroud)
JSONP输出是:
/**/ theGreatFunction({
"data": [
{
"name": "First Friend",
"id": "XXXX"
},
{
"name": "Second Friend",
"id": "XXXXXX"
},
........
Run Code Online (Sandbox Code Playgroud)
我的问题是:/* */回调函数前的空注释块表示什么?它有特殊的目的吗?它修复了任何已知的javascript问题吗?
是否可以使用相同的数据类型从函数返回,还是分配默认值?还是没有?什么是更好的编码实践,为什么?
例如.python中的一些伪代码:
/ 1
def my_position(): # returns a positive integer if found
if(object is present):
position = get_position()
return position # eg 2,3,4,6
else:
return None # or return -1 or 0 ??
Run Code Online (Sandbox Code Playgroud)
/ 2
def get_database_rows():
do query to whatever database
if(rows are found):
return [list of rows]
else:
return None # or return empty list [] ?
Run Code Online (Sandbox Code Playgroud)
/ 3
the_dictionary = {'a' : 'john','b':'mike','c': 'robert' } # values are names i.e. non empty string
my_new_var = the_dictionary.get('z', …Run Code Online (Sandbox Code Playgroud) 手头的任务:
有一个MySQL表,其中将用户活动推入一行。该活动需要稍后处理。
id | activity_type | activity_data | creation_time | status
23 EMAIL {....... } 2013-02-01 UNPROCESSED
Run Code Online (Sandbox Code Playgroud)
没有芹菜的加工:
使用Celery如何实现相同的功能,我想使用相同的功能标记任务而不是使用代理?即任务添加->接受10条最旧的行添加到状态为UNPROCESSED的mysql表中,该行也具有与任务相关的数据。
在任务完成时->将行标记为PROCESSED。
如何得知celery而不是将任务推送到代理上,而必须从MySQL表中检索任务?
我是Celery的初学者,因此不了解其所有功能。不建议使用MySQL作为代理,但我想知道可行性。
我正在研究一个简单的博客引擎.这是我的模型的初始代码:
from django.db import models
from django.contrib.auth.models import User
class Entry(models.Model):
title = models.CharField(max_length=80)
author = models.models.models.ForeignKey(User)
pubdate = models.DateTimeField()
text = models.TextField()
tags = models.ManyToManyField(Tag)
class Tag(models.Model):
name = models.CharField(max_length=25)
class Comment(models.Model):
author = models.ForeignKey(User)
pubdate = models.DateTimeField()
text = models.TextField()
Run Code Online (Sandbox Code Playgroud)
当我尝试运行时python manage.py syncdb blog,我收到错误
'Module' Object Has no Attribute 'models'
Run Code Online (Sandbox Code Playgroud)
我正在使用sqlite3.我还没有设置任何观点或测试.在settings.py,我已经包括以下应用程序:
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'blogApp',
'south',
Run Code Online (Sandbox Code Playgroud)
有什么想法可能会出错吗?
我试图为我的10位数的Django模型生成独特的HASH值我已经尝试过这些方法,但是我收到了这个错误
return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: column hash_3 is not unique
Run Code Online (Sandbox Code Playgroud)
在这里我尝试过:
import os
import time
import hashlib
from os import path
from binascii import hexlify
from django.db import models
from django.contrib import admin
from django.core.files.storage import FileSystemStorage
#------------------------------------------------------------------------------
def _createHash():
"""This function generate 10 character long hash"""
hash = hashlib.sha1()
hash.update(str(time.time()))
return hash.hexdigest()[:-10]
class tags(models.Model):
""" This is the tag model """
seo_url1 = models.URLField()
seo_url2 = models.URLField()
seo_url3 = models.URLField()
tagDescription = models.TextField() # Tag Description
tag = …Run Code Online (Sandbox Code Playgroud) MySQL的样本数据库配置:
DATABASES = {
'auth_db': {
'NAME': 'auth_db',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'swordfish',
},
'master': {
'NAME': 'master',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'spam',
},
'slave1': {
'NAME': 'slave1',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'eggs',
},
'slave2': {
'NAME': 'slave2',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'bacon',
},
}
Run Code Online (Sandbox Code Playgroud)
即使某些数据库根本没有使用,Django最初是否也会连接到所有这些数据库?例如。
对多个数据库使用原始游标
如果您使用多个数据库,则可以使用django.db.connections获取特定数据库的连接(和游标)。django.db.connections是一个类似于字典的对象,它允许您使用其别名检索特定的连接:
从django.db导入连接
cursor = connections ['my_db_alias']。cursor()
所以在这里,1.连接对象包含已经建立的连接?还是在发出游标请求时连接?2.是否可以更改此默认行为并按需建立连接(所有查询均为原始查询,而所有数据库均为MySQL)?
有一个python代码,应该支持Python 3,但可能会也可能不会在Python 2.7中运行.例如,这个代码段可以在Python 2.7和Python 3中运行.即使代码在Python 2.7上运行良好,在严格模式下强制执行和推荐Python 3兼容性的标准方法是什么?
print('This file works in both')
print('How to throw an exception,and suggest recommendation of python 3 only ?')
Run Code Online (Sandbox Code Playgroud)
Python 2.7:https://ideone.com/bGnbvd
Python 3.5:https://ideone.com/yrTi3p
可能存在多个hacks和异常,它们在Python 3中工作,而不是在Python 2.7中,可用于实现此目的.我正在寻找文件/模块/项目开头的最佳推荐方法.
python ×7
django ×3
javascript ×2
celery ×1
facebook ×1
jsonp ×1
mongodb ×1
mysql ×1
php ×1
python-2.7 ×1
python-3.x ×1