小编Ste*_*eve的帖子

从Django shell上传图片

我需要将一堆图像导入Django应用程序.我在shell中测试但在尝试保存图像时无法通过此错误:

File "/lib/python3.3/codecs.py", line 301, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final) 
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: 
invalid start byte
Run Code Online (Sandbox Code Playgroud)

该模型:

import uuid
from django.db import models
from taggit.managers import TaggableManager
import os

def generate_filename(instance, filename):
    f, ext = os.path.splitext(filename)
    name = uuid.uuid4().hex
    return 'images/%s%s' % (name, ext)

class StudyImage(models.Model):

    pic = models.ImageField(upload_to=generate_filename)
    upload_date = models.DateTimeField(auto_now_add=True)
    tags = TaggableManager()
Run Code Online (Sandbox Code Playgroud)

获取错误的步骤:

打开一个django shell.

import uuid
import os
from app import models

p = File(open('/home/image001.png', 'r')) …
Run Code Online (Sandbox Code Playgroud)

python django shell file

8
推荐指数
1
解决办法
2853
查看次数

django模板继承和上下文

我正在阅读django的权威指南,我在第4章中介绍了模板继承.似乎我没有做一些尽可能优雅的事情,因为我必须复制一些代码,以便在调用子视图时显示上下文.这是views.py中的代码:

def homepage(request):
    current_date = datetime.datetime.now()
    current_section = 'Temporary Home Page'
    return render_to_response("base.html", locals())
def contact(request):
    current_date = datetime.datetime.now()
    current_section = 'Contact page'
    return render_to_response("contact.html", locals())
Run Code Online (Sandbox Code Playgroud)

在每个函数中包含current_date行似乎是多余的.

这是主页调用的基本html文件:

<html lang= "en">
<head>
    <title>{% block title %}Home Page{% endblock %}</title>
</head>
<body>
    <h1>The Site</h1>
    {% block content %}
        <p> The Current section is {{ current_section }}.</p>
    {% endblock %}

    {% block footer %}
    <p>The current time is {{ current_date }}</p>
    {% endblock %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

和一个子模板文件:

{% extends "base.html" %}

{% …
Run Code Online (Sandbox Code Playgroud)

django django-templates

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

Django语言选择器,使用本地和本地语言

我有一个django网站我正在使用语言选择器添加翻译,该语言选择器列出了用户语言中的可用语言.我想让下拉列表包括原生拼写.

目前它看起来像这样:
英语
荷兰语
简体中文

当我切换到中文时,它看起来像:
英语
荷兰语
简体中文

我想让它看起来像:
英语/英语
荷兰语/荷兰语
简体中文/简体中文

settings.py包括:

ugettext = lambda s: s  
LANGUAGES = (
    ('en', ugettext('English')),
    ('nl', ugettext('Dutch')),
    ('zh-cn', ugettext('Simplified Chinese')),
)
Run Code Online (Sandbox Code Playgroud)

base.html文件:

    {% load i18n %}
    {% get_available_languages as LANGUAGES %}
    <form action="/i18n/setlang/" method="post">{% csrf_token %}
      <input name="next" type="hidden" value="/" />
        {% csrf_token %}
        <select name="language">
          {% for lang in LANGUAGES %}
            <option value="{{ lang.0 }}">{{ lang.1 }}</option>
          {% endfor %}
        </select>
      <input type="submit" value="Go" />
    </form>
Run Code Online (Sandbox Code Playgroud)

我的想法是将另一个项目添加到母语是LANGUAGES,例如:

LANGUAGES = ( …
Run Code Online (Sandbox Code Playgroud)

django translation internationalization

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

Sproutcore/Qooxdoo之类的东西怎么样?

我正在学习Python并构建我的第一个Web应用程序.我一直在通过django教程,并开始考虑如何做客户端.我希望它是web 2.0-ish,并且需要一些AJAX/javascript功能来显示来自数据库的列表,以及诸如日期选择器,自动完成等的酷事.

似乎html/css/javascript(尤其是jquery)是最受欢迎的选项.作为一个新手,我对像qooxdoo和sproutcore这样的框架很感兴趣,但是他们并不完全明白它们是如何工作的.例如:

  1. 我可以轻松地将代码从一个应用程序重用到另一个
  2. 你也可以轻松拥有一页静态页面吗?
  3. 它们只是一页,有点像gmail吗?有关系吗?
  4. 它真的比不使用它更容易吗?我的意思是框架的学习曲线等于学习html/css/javascript?
  5. 这些类型的应用程序加载速度较慢,因为它们有很多开销吗?

要么,

使用/不使用其中一种的优点/缺点是什么?

欢迎任何初学者的建议!

web-applications sproutcore javascript-framework qooxdoo

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