编辑: 我怎样才能设置一个Django字段的默认值,每次创build一个新的模型对象时得到评估的函数? 我想要做类似于下面的事情,除了在这段代码中,代码被计算一次,并将每个模型对象的默认值设置为相同的date,而不是在每次创build模型对象时评估代码。 from datetime import datetime, timedelta class MyModel(models.Model): # default to 1 day from now my_date = models.DateTimeField(default=datetime.now() + timedelta(days=1)) 原版的: 我想创build一个函数参数的默认值,以便它是dynamic的,每次调用函数时都会被调用和设置。 我怎样才能做到这一点? 例如, from datetime import datetime def mydate(date=datetime.now()): print date mydate() mydate() # prints the same thing as the previous call; but I want it to be a newer value 具体来说,我想在Django中做到这一点,例如, […]
我正在使用render_to_response快捷方式,并不想制作特定的Response对象来添加额外的标头以防止客户端caching。 我想有一个回应,其中包含: Pragma:no-cache caching控制:无caching caching控制:必须重新validation 还有浏览器希望解释为避免caching的指令的所有其他漂亮的方法。 有没有caching中间件或类似的东西,可以用最小的代码入侵做的伎俩?
下面的代码工作到今天,当我从Windows机器导入,并得到这个错误: 在未加引号的字段中显示的新行字符 – 您是否需要以通用换行模式打开文件? import csv class CSV: def __init__(self, file=None): self.file = file def read_file(self): data = [] file_read = csv.reader(self.file) for row in file_read: data.append(row) return data def get_row_count(self): return len(self.read_file()) def get_column_count(self): new_data = self.read_file() return len(new_data[0]) def get_data(self, rows=1): data = self.read_file() return data[:rows] 我该如何解决这个问题? def upload_configurator(request, id=None): """ A view […]
这些表单正在展现我想要的完全相反的行为。 我的观点是这样设置的: def post(request): # TODO: handle vehicle formset VehicleFormSetFactory = formset_factory(VehicleForm, extra=1) if request.POST: vehicles_formset = VehicleFormSetFactory(request.POST) else: vehicles_formset = VehicleFormSetFactory() 我的模板看起来像这样: <div id="vehicle_forms"> {{ vehicles_formset.management_form }} {% for form in vehicles_formset.forms %} <h4>Vehicle {{forloop.counter}}</h4> <table> {% include "form.html" %} </table> {% endfor %} </div> 这样它最初只生成1个表格,就像我想要的那样。 但是我想要一个forms是必需的! 当我dynamic地添加空白表单与JavaScript和vehicles_formset.empty_form所有这些额外的forms是必需的,我不想要的。 从文档: formset足够聪明,可以忽略没有改变的多余的表单。 这是第一种forms展示的行为(不是我想要的),而不是额外forms展示的行为(我想要的)。 是否有一些属性,我可以改变,至less使一个表格所需?
我有困难缠着这个。 现在我有一些看起来像这样的模型: def Review(models.Model) …fields… overall_score = models.FloatField(blank=True) def Score(models.Model) review = models.ForeignKey(Review) question = models.TextField() grade = models.IntegerField() 评论有几个“分数”,overall_score是分数的平均值。 保存评论或评分时,我需要重新计算overall_score平均值。 现在我正在使用重写的保存方法。 使用Django的信号分配器会有什么好处吗?
我是Django的新手,我试图通过我正在开发的一个简单的项目“dubliners”和一个名为“book”的应用程序来学习它。 目录结构如下所示: dubliners/book/ [includes models.py, views.py, etc.] dubliners/templates/book/ 我有一个JPG文件,需要显示在每个网页的标题。 我应该在哪里存储文件? 我应该使用哪个path来使用模板显示标签? 我已经尝试过不同的位置和path,但目前为止没有任何工作。 … 感谢下面发布的答案。 不过,我已经尝试了图像的相对path和绝对path,而且网页中仍然显示一个破碎的图像图标。 例如,如果我的主目录中有一个图像,并在我的模板中使用这个标签: <img src="/home/tony/london.jpg" /> 图像不显示。 如果我将网页保存为静态HTML文件,则会显示图像,所以path是正确的。 也许Django附带的默认Web服务器只有在特定的path上才会显示图像?
在我的django应用程序中,我需要从request.META.get('HTTP_REFERER')的引用程序中获取域名以及其协议,以便从以下url获取: https://docs.google.com/spreadsheet/ccc?key=blah-blah-blah-blah#gid=1 https://stackoverflow.com/questions/1234567/blah-blah-blah-blah http://www.domain.com https://www.other-domain.com/whatever/blah/blah/?v1=0&v2=blah+blah … 我应该得到: https://docs.google.com/ https://stackoverflow.com/ http://www.domain.com https://www.other-domain.com/ 我查了一下其他相关的问题,发现了关于urlparse的问题,但是这并没有成功 >>> urlparse(request.META.get('HTTP_REFERER')).hostname 'docs.google.com' 此外,我没有find一种方法来获得协议,也许做一个简单的连接:\ 在此先感谢您的帮助
我试图find一种方法来caching查询的结果不会随频率而改变。 例如,来自电子商务(手机,电视等)的产品类别。 我正在考虑使用模板片段caching,但在这个片段中,我将遍历这些类别的列表。 这个列表在网站的任何部分都是可用的,所以它在我的base.html文件中。 渲染模板时,我是否总是发送类别列表? 还是有一个更dynamic的方式来做到这一点,使列表总是可用的模板?
当我让模型pipe理器获得一个对象时,当没有匹配的对象时,它会引发DoesNotExist 。 go = Content.objects.get(name="baby") 而不是DoesNotExist ,我怎么能成为None而不是?
如果用户没有login,我希望login表单(来自django.contrib.auth的AuthenticationForm)出现在我网站的每个页面上。当用户login时,他们将被redirect到同一页面。 如果出现错误,错误将显示在与表单相同的页面上。 我想你需要一个上下文处理器来为每个模板提供表单。 但是,那么你还需要每个视图来处理张贴的表单? 这是否意味着您需要创build一些中间件? 我有点失落 有没有一个可以接受的方法呢?