我正在使用Memcached作为我的django应用程序的后端.此代码在正常的django查询中工作正常:
def get_myobj():
cache_key = 'mykey'
result = cache.get(cache_key, None)
if not result:
result = Product.objects.all().filter(draft=False)
cache.set(cache_key, result)
return result
Run Code Online (Sandbox Code Playgroud)
但是当与django-rest-framework api调用一起使用时它不起作用:
class ProductListAPIView(generics.ListAPIView):
def get_queryset(self):
product_list = Product.objects.all()
return product_list
serializer_class = ProductSerializer
Run Code Online (Sandbox Code Playgroud)
我即将尝试提供缓存功能的DRF扩展:
https://github.com/chibisov/drf-extensions
但是github上的构建状态目前正在说"构建失败".
我的应用程序在api调用时非常重读.有没有办法缓存这些电话?
谢谢.
我正在使用适用于Android的Google AdMob Ads SDK 4.0.4
默认情况下,在加载广告之前,AdView将没有大小.如果广告上方或下方有按钮,则可能会出现问题.
如果广告在他们即将点击按钮的确切时刻返回,则用户可能会意外点击该广告.
在旧的admob SDK中,我使用setGoneWithoutAd(false)解决了这个问题.这样,即使广告尚未退回,也会保留空间.
在新的SDK(Google Admob Ads SDK 4.0.4)中,我设法通过使用此快速修复程序执行相同的操作:通过将广告放入宽度为"320dp"且高度为"50dp"的某些布局来保留空间
<LinearLayout
android:layout_width="320dp"
android:layout_height="50dp" >
<com.google.ads.AdView android:id="@+id/adview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="xxxxxxxxxxx"
ads:adSize="BANNER"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
它有效,但我不确定这是否是一个正确的方法.(我会遇到着名的"没有足够的空间来展示广告!"问题吗?)
总结一个问题:即使在请求广告时,如何(正确)使AdView"占用"空间?
先感谢您!
我的网站是一个用Django编写的数字市场网站.
默认情况下,网站上的数字内容(文本,图像,视频)处于"锁定"状态.只有购买这些内容的用户才能查看.
有一个故事,某个用户(谁购买了内容)免费向许多人赠送用户名/密码(例如,Facebook群组中有1000多人).然后,这1,000名用户可以使用该单一用户名/密码登录,并查看"锁定"的数字内容而无需支付一分钱.
是否可以限制同一帐户的并发登录次数?
我发现这个包裹:
https://github.com/pcraston/django-preventconcurrentlogins
但是当有人使用相同的用户名/密码登录时,它的作用是记录以前的用户.这无济于事,因为每个用户每次只需输入用户名/密码即可访问"锁定"内容.
django django-admin django-authentication django-sessions django-users
我正在按照此AWS教程在Amazon Elastic Beanstalk上部署python应用程序:
我按照指南一直到EB Cli应该提示我创建一个密钥对.但我得到的只是提示键入密钥对的名称.
Do you want to set up SSH for your instances?
(y/n): y
Type a keypair name.
(Default is aws-eb):
You must specify a key type (-t).
Usage: ssh-keygen [options]
Options:
-b bits Number of bits in the key to create.
-c Change comment in private and public key files.
-e Convert OpenSSH to IETF SECSH key file.
-f filename Filename of the key file.
-g Use generic DNS resource record format.
-i Convert IETF …
Run Code Online (Sandbox Code Playgroud) 我会尽力提供尽可能多的信息.虽然解决方案很棒,但我只想获得如何解决问题的指导.如何查看更多有用的日志文件等.因为我是服务器维护的新手.欢迎任何建议.
这是按时间顺序发生的事情:
我会继续做研究并提供更多信息.同时欢迎任何意见.
谢谢.
2016年5月20日更新
sudo service restart postgresql
(和gunicorn,Django的服务器上nginx的)不不解决冻结(我认为这是一个非常有趣的观点)更新#2 2016年5月20日 当冻结发生时,我尝试按时间顺序执行以下操作(关闭所有内容并逐个转回)
sudo service stop postgresql
- > cpu使用率降至0-10%sudo service stop gunicorn
- > cpu使用率保持在0-10%sudo service stop nginx
- > cpu使用率保持在0-10%sudo service restart postgresql
- > cpu使用率保持在0-10%sudo …
我正在序列化产品模型及其评论.这是我的简单代码:
class ProductSerializer(serializers.HyperlinkedModelSerializer):
comment_set = CommentSerializer(many=True, read_only=True)
class Meta:
model = Product
fields = [
'title',
'comment_set'
]
class CommentSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Comment
fields = [
'text',
]
class Comment(models.Model):
product = models.ForeignKey(Product, null=True, blank=True, db_index=True)
class Product(models.Model):
title = models.CharField(max_length=50)
...
Run Code Online (Sandbox Code Playgroud)
问题:如果产品有很多评论.例如,500条评论.所有500个都被序列化了.
如何将结果限制为我自己选择的一些,如100条评论?
我在发布之前做了一些研究,但只发现了有关过滤的问题.
谢谢.
django serialization foreign-keys foreign-key-relationship django-rest-framework
django ×4
python ×2
admob ×1
adview ×1
android ×1
banner-ads ×1
caching ×1
cpu-usage ×1
django-admin ×1
django-users ×1
foreign-keys ×1
memcached ×1
nginx ×1
postgresql ×1
ssh ×1
ubuntu-14.04 ×1