我克隆了一个来自github的回购并正在研究它.该项目在django并使用postgres作为数据库.该项目现在处于生产阶段,我需要对其进行一些更改.数据库规格是:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
# Or path to database file if using sqlite3.
'NAME': 'project_name',
'USER': 'admin',
'PASSWORD': '',
# Empty for localhost through domain sockets or '127.0.0.1'
# for localhost through TCP.
'HOST': 'localhost',
'PORT': '5432',
}
}
Run Code Online (Sandbox Code Playgroud)
我想在我的本地主机上运行它,但我无法.我收到错误:
django.db.utils.OperationalError: fe_sendauth: no password supplied
Run Code Online (Sandbox Code Playgroud)
我已经搜索过这个问题,但找不到可以帮助我的解决方案.谁能告诉我问题出在哪里?
我正在尝试使用以下命令将数据库转储到本地系统中:
pg_restore --host=localhost --port=5432 --dbname=dev_db --no-owner --no-privileges db_dump_new.backup
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
pg_restore: [archiver] input file is too short (read 0, expected 5)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在浏览关于序列化的django rest框架教程,其中我遇到了JSONRenderers和JSONParsers .Below是那里提到的代码:
from snippets.models import Snippet
from snippets.serializers import SnippetSerializer
from rest_framework.renderers import JSONRenderer
from rest_framework.parsers import JSONParser
from django.utils.six import BytesIO
snippet = Snippet(code='foo = "bar"\n')
snippet.save()
snippet = Snippet(code='print "hello, world"\n')
snippet.save()
serializer = SnippetSerializer(snippet)
serializer.data
# {'pk': 2, 'title': u'', 'code': u'print "hello, world"\n', 'linenos': False, 'language': u'python', 'style': u'friendly'}
content = JSONRenderer().render(serializer.data)
content
# '{"pk": 2, "title": "", "code": "print \\"hello, world\\"\\n", "linenos": false, "language": "python", "style": "friendly"}'
stream = …Run Code Online (Sandbox Code Playgroud) 我正在使用Django Rest Framework处理应用程序.
models.py
class Image(models.Model):
image_meta = models.ForeignKey('Image_Meta',on_delete=models.CASCADE,)
image_path = models.URLField(max_length=200)
order = models.IntegerField()
version = models.CharField(max_length=10)
Run Code Online (Sandbox Code Playgroud)
serializers.py
class ImageSerializer(serializers.ModelSerializer):
class Meta:
model = Image
field = ('id', 'image_path' , 'order' , 'version')
Run Code Online (Sandbox Code Playgroud)
views.py
class ImageList(generics.ListCreateAPIView):
queryset = Image.objects.all()
serializer_class = ImageSerializer
class ImageDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Image.objects.all()
serializer_class = ImageSerializer
Run Code Online (Sandbox Code Playgroud)
网址模式
url(r'^image/$',views.ImageList.as_view(),name='image_list'),
url(r'^image/(?P<pk>[0-9]+)/$',views.ImageDetail.as_view(),name='image_detail')
Run Code Online (Sandbox Code Playgroud)
这只是整个系统的一部分.我想使用RESTAPI上传图像,然后将其上传到amazon s3,然后从那里获取url并将其存储在模型Image 的image_path字段中.我已经看到以前使用REST上传文件的解决方案(像这样),但对我的情况没有任何作用.有人可以建议我该怎么做?
我正在使用gunicorn和nginx在Digital Ocean上运行django .Gunicorn为django和nginx提供静态文件.
通过网站上传文件后,我无法保存到/ home目录中的文件夹.我明白了[Errno 13] Permission denied.
请问,如何使Web服务器能够读取/ home下任意文件夹的写入权限?
我是Redis的新手,所以请原谅我的问题.我在redis中有一个哈希,它有两个子键和相应的值:
redis 127.0.0.1:6379> hgetall hash-key
1) "sub-key1"
2) "value1"
3) "sub-key2"
4) "value2"
Run Code Online (Sandbox Code Playgroud)
如何只从哈希中获取子键,即"sub-key1","sub-key2"?
我的一个 django 项目是使用ansible (gunicorn & nginx)部署的。下面是gunicorn配置:
bind = '127.0.0.1:8001'
backlog = 2048
workers = 8
worker_class = 'sync'
worker_connections = 1000
timeout = 300
keepalive = 2
spew = False
daemon = False
pidfile = None
umask = 0
user = None
group = None
tmp_upload_dir = None
loglevel = 'info'
errorlog = '/var/log/error.log'
accesslog = '/var/log/access.log'
proc_name = None
def pre_fork(server, worker):
pass
def pre_exec(server):
server.log.info("Forked child, re-executing.")
def when_ready(server):
server.log.info("Server is ready. Spawning workers") …Run Code Online (Sandbox Code Playgroud) 我写了一个蜘蛛从我的IP http://ip.42.pl/raw通过PROXY.这是我的第一只蜘蛛.我想更改user_agent.我从本教程中获得了信息http://blog.privatenode.in/torifying-scrapy-project-on-ubuntu
我完成了本教程中的所有步骤,这是我的代码.
BOT_NAME = 'CheckIP'
SPIDER_MODULES = ['CheckIP.spiders']
NEWSPIDER_MODULE = 'CheckIP.spiders'
USER_AGENT_LIST = ['Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3',
'Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
'Mozilla/5.0 (Linux; U; Android 4.0.3; de-ch; HTC Sensation Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
'Mozilla/5.0 (Linux; U; Android 2.3; en-us) AppleWebKit/999+ (KHTML, like Gecko) Safari/999.9',
'Mozilla/5.0 (Linux; …Run Code Online (Sandbox Code Playgroud) 我使用:在python中安装了eventlet库pip install eventlet.但是当我尝试导入eventlet时发生了这个错误:
$python
Python 2.7.10 (default, Oct 23 2015, 18:05:06)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import eventlet
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named eventlet
Run Code Online (Sandbox Code Playgroud)
我试图再次安装它,但我得到了这个:
$pip install eventlet
Requirement already satisfied (use --upgrade to upgrade): eventlet in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/eventlet-0.18.1-py3.5.egg
Requirement already satisfied (use --upgrade to upgrade): greenlet>=0.3 in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/greenlet-0.4.9-py3.5-macosx-10.6-intel.egg (from eventlet)
Run Code Online (Sandbox Code Playgroud)
如何纠正这个错误?
PS:我使用的是Python 2.7
django ×4
python ×3
eventlet ×2
gunicorn ×2
postgresql ×2
amazon-s3 ×1
android ×1
git ×1
hash ×1
importerror ×1
json ×1
pg-restore ×1
python-2.7 ×1
redis ×1
scrapy ×1
statusbar ×1
tor ×1