Tag: django

ContentType和MimeType有什么区别

据我所知,他们是绝对平等的。 然而,浏览一些Django的文档,我发现这段代码: HttpResponse.__init__(content='', mimetype=None, status=200, content_type='text/html') 这令我感到惊讶,两个相处融洽。 官方文件能够以实际的方式解决这个问题: content_type是mimetype的别名。 历史上,这个参数只被称为mimetype,但是由于这实际上是HTTP Content-Type头中包含的值,所以它也可以包含字符集编码,这使得它不仅仅是一个MIMEtypes规范。 如果指定了mimetype(不是None),则使用该值。 否则,使用content_type。 如果没有给出,则使用DEFAULT_CONTENT_TYPE设置。 但是,我不觉得它足够阐明。 为什么我们使用2个不同的命名(几乎相同)? “Content-Type”仅仅是浏览器请求中使用的一个名称,在其外部使用很less? 每一个之间的主要区别是什么,什么时候调用什么是mimetype而不是content-type ? 我是懦弱和语法纳粹?

Web应用程序监视最佳实践

我们正在完成我们的Web应用程序和计划部署。 部署到生产的非常重要的方面是监视系统的健康状况。 拥有一小组开发人员/支持人员,对于我们早日获得潜在问题的通知 ,并在影响用户之前加以解决非常重要。 使用Nagios接口就像一个很好的select,但是想要获得更多关于通用应用程序(特别是Django应用程序)的最佳监视工具/实践的更多意见? 除了显而易见的CPU,内存,磁盘空间,数据库连接之外,还欢迎关于应该监视什么的build议。 我们的networking应用程序是用Django编写的,我们在Apache + Fast CGI和PostgreSQL数据库下运行Linux(Ubuntu)。 编辑我们在Linode下有一个完全虚拟化的环境。 编辑我们正在使用Django日志logging,所以我们有一个单独的信息,错误,关键问题等方式。

用gunicorn和nginx部署Django

这是一个广泛的问题,但我想得到一个规范的答案。 我一直试图在Django中使用gunicorn和nginx来部署一个站点。 阅读了大量的教程,我已经成功,但我不能确定我所遵循的步骤是否足够好,可以毫无问题地运行网站,或者有更好的方法来做到这一点。 这种不确定性令人讨厌。 这就是为什么我要为新手寻找一个非常详细和解释清楚的答案。 我不想太多解释我所知道的和我不知道的东西,因为这可能会使答案偏离一点,其他人可能会从答案中得到较less的帮助。 不过,我想提到的一些事情是: 你看到什么“设置”最好? 我使用了virtualenv并将Django项目移到了这个环境中,但是我看到了另一个设置,其中有一个虚拟环境文件夹和其他项目的文件夹。 我如何以一种允许多个站点在一台服务器上托pipe的方式进行安装? 为什么有人build议使用gunicorn_django -b 0.0.0.0:8000和其他人build议gunicorn_django -b 127.0.0.1:8000 ? 我在亚马逊EC2实例中testing了后者,但在前者没有问题的情况下运行不起作用。 nginxconfiguration文件背后的逻辑是什么? 有太多的教程使用截然不同的configuration文件,我很困惑哪一个更好。 例如,有些人使用alias /path/to/static/folder和其他root /path/to/static/folder 。 也许你可以分享你喜欢的configuration文件。 为什么我们在/etc/nginx创buildsite-available和sites-enabled之间的符号链接? 一些最佳实践一如既往的欢迎:-) 谢谢

Django TemplateDoesNotExist?

我的本地机器在Ubuntu 8.10上运行Python 2.5和Nginx,Django由最新的开发主干构build而成。 对于我请求的每一个URL,都会抛出: TemplateDoesNotExist在/ appname /path APPNAME / template_name.html Django尝试按以下顺序加载这些模板: *使用loader django.template.loaders.filesystem.function: *使用loader django.template.loaders.app_directories.function: TEMPLATE_DIRS('/usr/lib/python2.5/site-packages/projectname/templates') 它在这种情况下寻找/usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html ? 奇怪的是这个文件是否存在于磁盘上。 为什么Django不能find它? 我使用Ubuntu 9.04上的Python 2.6在远程服务器上运行相同的应用程序,没有这个问题。 其他设置是相同的。 在我的本地机器上是否有任何configuration错误,或者有什么可能导致这样的错误,我应该看看? 在我的settings.py中,我指定了: SETTINGS_PATH = os.path.normpath(os.path.dirname(__file__)) # Find templates in the same folder as settings.py. TEMPLATE_DIRS = ( os.path.join(SETTINGS_PATH, 'templates'), ) 它正在寻找下面的文件 /usr/lib/python2.5/site-packages/projectname/templates/appname1/template1.html /usr/lib/python2.5/site-packages/projectname/templates/appname1/template2.html /usr/lib/python2.5/site-packages/projectname/templates/appname2/template3.html … 以上所有文件都存在磁盘上。 解决了 它现在工作后,我尝试chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/* […]

伙计,我的Django安装在哪里?

我使用Django,但我需要find默认的模板和应用程序。 我不知道它在哪里安装。 我怎样才能find?

Django设置'SECRET_KEY'的目的

django中的SECRET_KEY究竟是什么意思? 我做了一些谷歌search,并检出了文档( https://docs.djangoproject.com/en/dev/ref/settings/#secret-key ),但我正在寻找一个更深入的解释,以及为什么这是必需的。 例如,如果密钥泄露/其他人知道它是什么,会发生什么? 谢谢。

基于类的视图的优点是什么?

我今天看到Django 1.3 alpha正在发布,而最受欢迎的新function是引入基于类的视图 。 我已经阅读了相关的文档 ,但是我很难看到使用它们所能获得的巨大优势 ,所以我在这里请求帮助理解它们。 我们来看一个来自文档的高级示例 。 urls.py from books.views import PublisherBookListView urlpatterns = patterns('', (r'^books/(\w+)/$', PublisherBookListView.as_view()), ) views.py from django.shortcuts import get_object_or_404 from django.views.generic import ListView from books.models import Book, Publisher class PublisherBookListView(ListView): context_object_name = "book_list" template_name = "books/books_by_publisher.html", def get_queryset(self): self.publisher = get_object_or_404(Publisher, name__iexact=self.args[0]) return Book.objects.filter(publisher=self.publisher) def get_context_data(self, **kwargs): # Call […]

如何在Django模板中做math?

我想做这个: 100 – {{object.article.rating_score}} 例如,如果{{object.article.rating_score}}等于“80”,则输出将是“20”。 如何在模板级别做到这一点? 我没有访问Python代码。

Django的unit testing没有数据库

有没有可能写django unittests而不build立一个数据库? 我想testing不需要db设置的业务逻辑。 虽然build立一个数据库很快,但在某些情况下我并不需要它。

如何获得表单字段的ID在Django?

有没有什么办法来获得模板中的字段的ID? 在HTML中,我得到: <input name="field_name" id="id_field_name"… 我知道我可以得到{{ field.html_name }}的名字,但有什么类似的获得ID? 或者我只能这样得到它: id_{{ field.html_name }} ?