我在Google日历中看过这个.看起来很酷:

我知道旧的ShowCaseView并看过RoboDemo,但似乎都没有为Material Design更新.
是否有一个图书馆,这意味着我们不必滚动/改编我们自己的?
我使用django-storages与s3boto作为后端.
我有一个带有两个文件夹的存储桶 - 一个用于static,一个用于media.我用它来实现这一点django-s3-folder-storage.
除了使用模型保存到S3之外,我还想实现图像调整大小和缓存功能以将文件保存到S3.为此,我直接与我的S3存储桶进行交互.代码有效,但未Content-Type在S3上设置.
在iPython中:
In [2]: from s3_folder_storage.s3 import DefaultStorage
In [3]: s3media = DefaultStorage()
In [4]: s3media
Out[4]: <s3_folder_storage.s3.DefaultStorage at 0x4788780>
Run Code Online (Sandbox Code Playgroud)
测试我们正在访问正确的存储桶 - storage_test我之前创建的是:
In [5]: s3media.exists('storage_test')
Out[5]: True
In [6]: s3media.open("test.txt", "w")
Out[6]: <S3BotoStorageFile: test.txt>
In [7]: test = s3media.open("test.txt", "w")
In [8]: test
Out[8]: <S3BotoStorageFile: test.txt>
In [9]: test.key.content_type = "text/plain"
In [10]: test.write("...")
In [11]: test.close()
In [12]: test = s3media.open("test.txt", …Run Code Online (Sandbox Code Playgroud) 假设用户在/some_url/django-allauth网站的页面上.点击"登录"后,他们会收到以下网址:
/accounts/login/?next=/some_url/
Run Code Online (Sandbox Code Playgroud)
如果他们已经是注册用户,在登录后,他们会被发送到/some_url/,这很好.
但如果他们没有注册,他们点击"注册",他们会被发送到:
/accounts/signup/?next=/some_url/
Run Code Online (Sandbox Code Playgroud)
假设我想在用户/onboarding/注册后立即向用户发送一些入职体验.
什么是覆盖allauth默认行为的最简单方法,/onboarding/即使next=/some_url/指定了a ,也会将用户发送给用户?
我最近想用python开始编程,因此用PyDev设置我的eclipse.现在,我按照一步一步的教程进行操作
l但是当我创建我的第一个PyDev项目时,我得到错误:
"配置的解释器在文件系统中不存在:python"
我正在使用Eclipse 4.3,Python 2.7和我通过eclipse'安装新软件'选项安装PyDev.我没有配置任何Jython/IronPython解释器,以下是我的python-interpreter首选项的样子:

任何帮助,将不胜感激 :)
我GET /api/stories/169/在StorySerializer中收到以下错误,注释如下:
AttributeError at /api/stories/169/
'ManyRelatedField' object has no attribute 'queryset'
Run Code Online (Sandbox Code Playgroud)
在检查对象后,我发现如果我改变了...
fields['feature'].queryset = fields['feature'].queryset.filter(user=user)
Run Code Online (Sandbox Code Playgroud)
至
fields['photos'].child_relation.queryset = fields['photos'].child_relation.queryset.filter(user=user)
Run Code Online (Sandbox Code Playgroud)
......它似乎有效.但是这种方法没有记录,我确信这不是正确的方法.
我有这些型号:
class Story(CommonInfo):
user = models.ForeignKey(User)
text = models.TextField(max_length=5000,blank=True)
feature = models.ForeignKey("Feature", blank=True, null=True)
tags = models.ManyToManyField("Tag")
class Feature(CommonInfo):
user = models.ForeignKey(User)
name = models.CharField(max_length=50)
class Photo(CommonInfo):
user = models.ForeignKey(User)
image = ImageField(upload_to='photos')
story = models.ForeignKey("Story", blank=True, null=True, related_name='photos', on_delete=models.SET_NULL)
Run Code Online (Sandbox Code Playgroud)
并且StorySerializer:
class StorySerializer(serializers.HyperlinkedModelSerializer):
user = serializers.CharField(read_only=True)
comments = serializers.HyperlinkedRelatedField(read_only=True, view_name='comment-detail', many=True)
def get_fields(self, *args, **kwargs):
user …Run Code Online (Sandbox Code Playgroud) 随着Apple 对使用IDFA(广告标识符/ IdentifierForAdvertisers)但不提供广告的应用程序的新打击,有没有办法跟踪不同广告或广告提供商的转换?
例如,Admob的SDK下载页面指出:
iOS SDK使用Apple的广告标识符(IDFA).SDK根据iOS开发人员计划许可协议中规定的准则使用IDFA.您必须确保遵守管理此标识符使用的iOS开发人员计划许可协议政策.
如果我想跟踪来自不同来源的应用安装,我需要SDK,但如果我使用它,我的应用(可能)会被拒绝,因为它不包含广告.
来自Adwords背景,每个广告系列,广告文字和定位都经过精心的交叉测试,在不知道转换的情况下投放广告费用的想法非常糟糕.话虽这么说,我没有看到那么多的抗议,所以我想知道我是否遗漏了什么?
我想到的潜在解决方案:
游戏系统:将广告编码到我的应用中为"非高级会员".我为Apple评论员创建的帐户将是非高级会员.应用程序获得批准后,我会确保所有用户的帐户都已切换为高级帐户,因此广告实际上从未显示过.
缺点:如果IDFA在与广告无关的地方被应用程序拉动,他们可能会拒绝我,即使他们不这样做也可能导致问题.
希望允许其用户跟踪广告转换的广告提供商实施某种IP和GPS位置指纹识别,以将广告应用中的点击链接到广告应用的安装.
缺点:这不是我能做的事情 - 由Admob 等人来解决.
对广告系列进行高级跟踪/测试,例如,运行一个广告系列一周并测量整体下载统计信息,然后再测量另一周,然后重新测量.
缺点:这是一种垃圾的数字营销方式,使测试迭代变得非常缓慢.
我在这里遗漏了什么 - 如果没有,是否有比1,2或3更好的方法?
Django 说有 3 种方法可以关闭自动转义:
|safe在变量之后使用{% autoescape on %}and{% endautoescape %}context = Context({'message': message}, autoescape=False)(1)和(2)工作正常。但我遇到的情况是,我有模板来生成纯文本推送通知,并且我有大量模板需要构建和维护。我可以遍历所有内容并将{% autoescape on %}和{% endautoescape %}标签放入其中,但是 (3) 应该允许我在视图中的一行中完成此操作。
模板:
{% block ios_message %}{{message}}{% endblock %}
Run Code Online (Sandbox Code Playgroud)
风景:
message = u"'&<>"
context = Context({'message': message}, autoescape=False)
render_block_to_string(template_name, 'ios_message', context)
Run Code Online (Sandbox Code Playgroud)
输出:
u''&<>
Run Code Online (Sandbox Code Playgroud)
block_render.py 的代码来自此处:https ://github.com/uniphil/Django-Block-Render/blob/master/block_render.py 。我从那里就按原样使用它。
有谁知道什么给?
假设我有一个<img>标签:
<img id="my_tag" src="/default.jpg" srcset="/small.jpg 500w, /medium.jpg 1000w, /large.jpg 2000w">
Run Code Online (Sandbox Code Playgroud)
当我加载页面时,Javascript可以告诉我srcset它正在使用哪个:
document.getElementById("my_tag").currentSrc
Run Code Online (Sandbox Code Playgroud)
如何检测currentSrc更改并触发事件?
避免"重复"的呼喊!我可以确认它不会在Chrome中使用DOM MutationObserver 代码,使用jQuery observe或使用onload事件触发:
var my_tag = document.getElementById("my_tag");
my_tag.onload = function(){
alert("CHANGED");
console.log( "Src changed to " + my_tag.currentSrc );
};
Run Code Online (Sandbox Code Playgroud)
我认为这是因为当srcset使用它时,当currentSrc更改时它似乎不更新DOM.
我得到一个奇怪的结果,即POSTJSON到DRF端点返回:
{"photos":["This field is required."],"tags":["This field is required."]}'
Run Code Online (Sandbox Code Playgroud)
而当POST表格数据DRF不介意字段为空时.
我的模型是:
class Story(CommonInfo):
user = models.ForeignKey(User)
text = models.TextField(max_length=5000,blank=True)
feature = models.ForeignKey("Feature", blank=True, null=True)
tags = models.ManyToManyField("Tag")
Run Code Online (Sandbox Code Playgroud)
我的序列化器是:
class StorySerializer(serializers.HyperlinkedModelSerializer):
user = serializers.CharField(read_only=True)
def get_fields(self, *args, **kwargs):
user = self.context['request'].user
fields = super(StorySerializer, self).get_fields(*args, **kwargs)
fields['feature'].queryset = fields['feature'].queryset.filter(user=user)
fields['photos'].child_relation.queryset = fields['photos'].child_relation.queryset.filter(user=user)
return fields
class Meta:
model = Story
fields = ('url', 'user', 'text', 'photos', 'feature', 'tags')
Run Code Online (Sandbox Code Playgroud)
而我的api.py是:
class StoryViewSet(viewsets.ModelViewSet):
serializer_class = StorySerializer
def get_queryset(self):
return …Run Code Online (Sandbox Code Playgroud) 假设我有一个ViewSet:
class ProfileViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows a user's profile to be viewed or edited.
"""
permission_classes = (permissions.IsAuthenticatedOrReadOnly, IsOwnerOrReadOnly)
queryset = Profile.objects.all()
serializer_class = ProfileSerializer
def perform_create(self, serializer):
serializer.save(user=self.request.user)
Run Code Online (Sandbox Code Playgroud)
...和一个HyperlinkedModelSerializer:
class ProfileSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Profile
read_only_fields = ('user',)
Run Code Online (Sandbox Code Playgroud)
我的urls.py设置如下:
router.register(r'profiles', api.ProfileViewSet, base_name='profile')
Run Code Online (Sandbox Code Playgroud)
这让我可以访问,例如/api/profile/1/很好。
我想在我的 API 上设置一个新端点(类似于 Facebook API 的/me/调用)/api/profile/me/以访问当前用户的个人资料 - 如何使用 Django REST Framework 执行此操作?
django-storages在运行时,我遇到使用S3Boto后端的内存泄漏default_storage.exists()
我在这里关注文档:http: //django-storages.readthedocs.org/en/latest/backends/amazon-S3.html
这是我的设置文件的相关部分:
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
Run Code Online (Sandbox Code Playgroud)
以下是我要重复此问题的方法:
./manage.py shell
from django.core.files.storage import default_storage
# Check default storage is right
default_storage.connection
>>> S3Connection:s3.amazonaws.com
# Check I can write to a file
file = default_storage.open('storage_test_2014', 'w')
file.write("does this work?")
file.close()
file2 = default_storage.open('storage_test_2014', 'r')
file2.read()
>>> 'does this work?'
# Run the exists command
default_storage.exists("asdfjkl") # This file doesn't exist - but the same thing happens no matter what I put here - even if I put …Run Code Online (Sandbox Code Playgroud) django ×6
boto ×2
python ×2
amazon-s3 ×1
android ×1
app-store ×1
eclipse ×1
escaping ×1
interpreter ×1
ios ×1
javascript ×1
jquery ×1
pydev ×1
showcaseview ×1