小编rnk*_*rnk的帖子

在Ubuntu中设置nginx和管理程序

我正在使用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)

我的主管设置有问题吗?

谢谢!

python apache django nginx supervisord

50
推荐指数
6
解决办法
6万
查看次数

django - getlist()

我刚发布了这个问题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中的列表获取?

谢谢!

python django

31
推荐指数
1
解决办法
5万
查看次数

django-gunicorn-nginx:502坏网关

我正在尝试将我的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

谢谢!

python django nginx gunicorn

9
推荐指数
1
解决办法
2万
查看次数

modelforms中的valueError

我正在使用模型来获取播放列表及其项目.它还包含登录脚本.我正在尝试将当前登录的用户设置为用户模型.你可以看到我之前发布的这个东西 如何避免这个下拉组合框?

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)

python django django-models django-forms

5
推荐指数
2
解决办法
841
查看次数

python - 使文件可下载

我想在我的项目目录中创建一个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.

python django

5
推荐指数
2
解决办法
7806
查看次数

Docker - Elasticsearch - 无法建立新连接:[Errno 111] Connection refused',))

我正在使用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)

这是用于webDockerfile 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)

python elasticsearch docker docker-compose

5
推荐指数
1
解决办法
4026
查看次数

django - TypeError:强制转换为Unicode

我得到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)

python django

4
推荐指数
1
解决办法
5615
查看次数

redis - 使用哈希

我正在使用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不是用于询问建议而我不知道在哪里可以找到帮助.

谢谢!

python django memcached nosql redis

4
推荐指数
1
解决办法
1491
查看次数

Django - 异常处理

我在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)

但它没有用.谁能给我正确的代码?

谢谢!

python django

2
推荐指数
1
解决办法
2694
查看次数

需要对函数进行类型断言

我正在尝试学习类型断言和转换。对我来说有点复杂。

我有这个例子:(我正在使用杜松子酒框架)

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)

go go-gin

2
推荐指数
1
解决办法
5262
查看次数