我需要将一堆图像导入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) 我正在阅读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网站我正在使用语言选择器添加翻译,该语言选择器列出了用户语言中的可用语言.我想让下拉列表包括原生拼写.
目前它看起来像这样:
英语
荷兰语
简体中文
当我切换到中文时,它看起来像:
英语
荷兰语
简体中文
我想让它看起来像:
英语/英语
荷兰语/荷兰语
简体中文/简体中文
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) 我正在学习Python并构建我的第一个Web应用程序.我一直在通过django教程,并开始考虑如何做客户端.我希望它是web 2.0-ish,并且需要一些AJAX/javascript功能来显示来自数据库的列表,以及诸如日期选择器,自动完成等的酷事.
似乎html/css/javascript(尤其是jquery)是最受欢迎的选项.作为一个新手,我对像qooxdoo和sproutcore这样的框架很感兴趣,但是他们并不完全明白它们是如何工作的.例如:
要么,
使用/不使用其中一种的优点/缺点是什么?
欢迎任何初学者的建议!