我正在使用django-gunicorn-nginx设置,遵循本教程http://ijcdigital.com/blog/django-gunicorn-and-nginx-setup/ Upto nginx setup,它正在运行.然后我安装了主管,配置它然后我重启我的服务器并检查,它显示502坏网关.我正在使用Ubuntu 12.04 LTS
/etc/supervisor/conf.d/qlimp.conf
[program: qlimp]
directory = /home/nirmal/project/qlimp/qlimp.sh
user = nirmal
command = /home/nirmal/project/qlimp/qlimp.sh
stdout_logfile = /path/to/supervisor/log/file/logfile.log
stderr_logfile = /path/to/supervisor/log/file/error-logfile.log
Run Code Online (Sandbox Code Playgroud)
然后我重新启动主管,我运行此命令$ supervisorctl start qlimp,我收到此错误
unix:///var/run/supervisor.sock no such file
Run Code Online (Sandbox Code Playgroud)
我的主管设置有问题吗?
谢谢!
我刚发布了这个问题jQuery - 在post请求中传递数组,我不在post请求中发送数组,但jQuery代码中没有问题.
问题是在django中接收POST请求.我确实喜欢这个.
def portfolio_add(request):
ukeys = request.POST.getlist('ukeys')
........etc.......
Run Code Online (Sandbox Code Playgroud)
但我得到的是ukeys值u'[]'.当我检查时,request.POST我得到的值为u"<QueryDict: {u'ukeys[]': [u'68c04', u'16149']}>"
那么,如何将这些值作为Django中的列表获取?
谢谢!
我正在尝试将我的Web应用程序发送到服务器,这是我第一次配置服务器.我正在使用django-gunicorn-nginx设置,遵循本教程http://ijcdigital.com/blog/django-gunicorn-and-nginx-setup/首先,一切都很完美,我得到了django欢迎页面.然后我在django项目中加载应用程序并设置静态根目录,现在我得到502坏网关你可以在http://qlimp.com查看
gunicorn和supervisor设置的所有内容与该教程中显示的相同.但我修改了一些nginx conf.这里是:
upstream app_server_djangoapp {
server localhost:8001 fail_timeout=0;
}
server {
listen 80;
server_name qlimp.com;
access_log /var/log/nginx/guni-access.log;
error_log /var/log/nginx/guni-error.log info;
keepalive_timeout 5;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://app_server_djangoapp;
break;
}
}
location /files/ {
autoindex on;
root /home/nirmal/qlimp/qlimp/files/;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的媒体网址:
MEDIA_URL = '/files/'
Run Code Online (Sandbox Code Playgroud)
文件是我拥有所有静态文件的文件夹.如何让我的项目在服务器中工作?谁能指导我?
UPDATE
Errors.log https://gist.github.com/2768425
谢谢!
我正在使用模型来获取播放列表及其项目.它还包含登录脚本.我正在尝试将当前登录的用户设置为用户模型.你可以看到我之前发布的这个东西 如何避免这个下拉组合框?
class playlistmodel(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=200)
def __unicode__(self):
return self.title
class itemsmodel(models.Model):
playlist = models.ForeignKey(playlistmodel)
item = models.TextField()
def __unicode(self):
return self.item
class playlistform(ModelForm):
class Meta:
model = playlistmodel
exclude = {'user'}
class itemsform(ModelForm):
class Meta:
model = itemsmodel
exclude = {'playlist'}
Run Code Online (Sandbox Code Playgroud)
这是播放列表视图:
def playlistview(request):
if request.method == 'POST':
form = playlistform(request.POST)
if form.is_valid():
data = form.save(commit=False)
data.user = request.user
data.save()
return render_to_response('playlist.html', {'data': data})
else:
form = playlistform()
return render_to_response('playlist.html', {'form': form, 'user': request.user}, context_instance=RequestContext(request)) …Run Code Online (Sandbox Code Playgroud) 我想在我的项目目录中创建一个PDF文件,使其可以下载,而不是在用户单击链接时在浏览器中打开.
我按照这个问题使用Django生成文件下载
但是我收到了错误:
Exception Type: SyntaxError
Exception Value: can't assign to literal (views.py, line 119)
Exception Location: /usr/local/lib/python2.7/dist-packages/django/utils/importlib.py in import_module, line 35
Run Code Online (Sandbox Code Playgroud)
我创建了一个下载链接:
<a href="/files/pdf/resume.pdf" target="_blank" class="btn btn-success btn-download" id="download" >Download PDF</a>
Run Code Online (Sandbox Code Playgroud)
urls.py:
url(r'^files/pdf/(?P<filename>\{w{40})/$', 'github.views.pdf_download'),
Run Code Online (Sandbox Code Playgroud)
views.py:
def pdf_download(request, filename):
path = os.expanduser('~/files/pdf/')
f = open(path+filename, "r")
response = HttpResponse(FileWrapper(f), content_type='application/pdf')
response = ['Content-Disposition'] = 'attachment; filename=resume.pdf'
f.close()
return response
Run Code Online (Sandbox Code Playgroud)
错误行是:
response = ['Content-Disposition'] = 'attachment; filename=resume.pdf'
Run Code Online (Sandbox Code Playgroud)
我该如何让它可以下载?
谢谢!
UPDATE
它适用于Firefox,但不适用于Chrome v21.0.
我正在使用docker-composeLinode服务器中运行python flask app和elasticsearch服务.
这是我的docker-compose.yml
version: '2'
services:
elasticsearch:
build: config/elastic/
ports:
- "9200:9200"
- "9300:9300"
environment:
ES_JAVA_OPTS: "-Xms1g -Xmx1g"
networks:
- docker_lr
web:
build: .
ports:
- "8000:8000"
networks:
- docker_lr
depends_on:
- elasticsearch
networks:
docker_lr:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
这是elasticsearch Dockerfile
FROM elasticsearch:5
ENV ES_JAVA_OPTS="-Des.path.conf=/etc/elasticsearch"
CMD ["-E", "network.host=0.0.0.0", "-E", "discovery.zen.minimum_master_nodes=1"]
Run Code Online (Sandbox Code Playgroud)
这是用于web 的Dockerfile https://github.com/mysticmode/LibreRead/blob/master/Dockerfile
这两个服务都在运行,我可以使用my:8000和9200在浏览器中查看
但我无法从我的python应用程序代码连接到:9200的elasticsearch.
r = requests.get('http://localhost:9200/lr_index/book_info/_search', data=payload)
Run Code Online (Sandbox Code Playgroud)
它显示此错误
ConnectionError: HTTPConnectionPool(host='localhost', port=9200): Max retries exceeded with url: /lr_index/book_info/_search (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f5b13872250>: Failed to …Run Code Online (Sandbox Code Playgroud) 我得到TypeError:强制转换为Unicode:需要字符串或缓冲区,找到int
这是我的models.py:
class FollowingModel(models.Model):
user = models.ForeignKey(User)
person = models.IntegerField(max_length=20, blank=False)
def __unicode__(self):
return self.person
Run Code Online (Sandbox Code Playgroud)
当我在这样的视图中从FollowingModel中检索值时
g = FollowingModel.objects.all()
g[0] -----> I'm getting that error
Run Code Online (Sandbox Code Playgroud)
我试过更改def __unicode__(self):as
def __unicode__(self):
return str(self.person)
Run Code Online (Sandbox Code Playgroud)
但没有用,我仍然得到同样的错误.谁能指导我?
谢谢!
UPDATE
>>>g = FollowingModel.objects.all()
>>>g
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 72, in __repr__
return repr(data)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 370, in __repr__
u = unicode(self)
TypeError: coercing to Unicode: need string or buffer, int …Run Code Online (Sandbox Code Playgroud) 我正在使用redis为我的Web应用程序实现社交流和通知系统.我是redis的新手,我对哈希及其效率有些怀疑.
我已经阅读了这篇很棒的Instagram帖子 ,我计划实现他们类似的解决方案,以实现最小的存储空间.
正如他们的博客中提到的,他们确实喜欢这样
为了利用散列类型,我们将所有媒体ID分配到1000个桶中(我们只取ID,除以1000并丢弃剩余部分).这决定了我们陷入的关键; 接下来,住在该密钥的散列内,媒体ID为查找键中的散列和用户ID值.一个例子,给定媒体ID为1155315,这意味着它属于桶1155(1155315/1000 = 1155):
HSET "mediabucket:1155" "1155315" "939"
HGET "mediabucket:1155" "1155315"
> "939"
Run Code Online (Sandbox Code Playgroud)
因此,不是拥有1000个单独的密钥,而是将它存储在一个具有数千个查找键的哈希中.而我的疑问是,为什么我们不能增加查找键值更加大.
例如: Media ID of 1155315 will fall into mediabucket:115 by dividing it by 10000
甚至更大.
他们为什么要使用一个带有1000个查找键的哈希桶来解决问题.为什么他们不能拥有一个包含100000个查找键的哈希桶.这与效率有关吗?
我需要您在我的Web应用程序中实现有效方法的建议.
PS请!不要说stackoverflow不是用于询问建议而我不知道在哪里可以找到帮助.
谢谢!
我在Django中有这个错误页面.
Exception Type: IndexError
Exception Value: list index out of range
Exception Location: /home/nirmal/try/portfolio/views.py in vimeo_authorize, line 52
Run Code Online (Sandbox Code Playgroud)
我需要的是我只想在我的观点中除了这个错误.我试过这样的:
try:
.........
except IndexError:
.........
Run Code Online (Sandbox Code Playgroud)
但它没有用.谁能给我正确的代码?
谢谢!
我正在尝试学习类型断言和转换。对我来说有点复杂。
我有这个例子:(我正在使用杜松子酒框架)
type Env struct {
db *sql.DB
}
func main() {
r := gin.Default()
// Initiate session management (cookie-based)
store := sessions.NewCookieStore([]byte("secret"))
r.Use(sessions.Sessions("mysession", store))
db, _ := sql.Open("sqlite3", "./libreread.db")
defer db.Close()
env := &Env{db: db}
r.GET("/", env.GetHomePage)
}
func (e *Env) _GetUserId(email string) int64 {
rows, err := e.db.Query("SELECT `id` FROM `user` WHERE `email` = ?", email)
CheckError(err)
var userId int64
if rows.Next() {
err := rows.Scan(&userId)
CheckError(err)
}
rows.Close()
return userId
}
func (e *Env) GetHomePage(c *gin.Context) { …Run Code Online (Sandbox Code Playgroud)