我有一个名为client_details.html的模板,显示user,note和datetime.现在有时,客户端可能没有用户,注释和日期时间的条目.None如果这些字段为空,则显示我的程序将执行的操作.我不希望显示无.如果某个字段没有值,我不希望看到任何值,例如,如果可能,请将其留空,而不是显示无.
views.py
@login_required
def get_client(request, client_id = 0):
client = None
try:
client = models.Client.objects.get(pk = client_id)
except:
pass
return render_to_response('client_details.html', {'client':client}, context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
模板
{{client.datetime}}<br/>
{{client.datetime.time}}<br/>
{{client.user}}<br/>
{{client.note}}<br/>
Run Code Online (Sandbox Code Playgroud) 由于某种原因,今天我无法使用python manage.py dumpdata或从可以下载mysql文件的链接转储我的数据库.
我尝试使用python manage.py dumpdata --traceback,这是我的信息.
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/dumpdata.py", line 114, in handle
use_natural_keys=use_natural_keys)
File "/usr/local/lib/python2.7/site-packages/django/core/serializers/__init__.py", line 91, in serialize
s.serialize(queryset, **options)
File "/usr/local/lib/python2.7/site-packages/django/core/serializers/base.py", line 48, in serialize
self.handle_fk_field(obj, field)
File "/usr/local/lib/python2.7/site-packages/django/core/serializers/python.py", …Run Code Online (Sandbox Code Playgroud) 我在Django中有一个关于如何比较日期以解决一些解决方案的问题.例如,我的models.py中有一个日期字段,如下所示.
class Invoice(models.Model):
payment_date = models.DateTimeField()
Run Code Online (Sandbox Code Playgroud)
我想要做的是询问是否可以将datetime.now与DateTimeField进行比较.例如,如果我有一个付款日期列表,我想现在与datetime进行比较.付款延迟的payment_date显示为欠款.否则,它的值为零.
以下是我的观点,以显示最新情况.到目前为止我已经尝试了但是我得到的pay_date值为0,晚于付款日期.
编辑这里是我最新的观点.有趣的是,我似乎得到所有结果的欠款= invoice_gross - 不像之前我得到全0.所以它仍然无法正常工作.
@login_required
def homepage(request):
invoices_list = Invoice.objects.all()
invoice_name = invoices_list[0].client_contract_number.client_number.name
invoice_gross = invoices_list[0].invoice_gross
payment_date = invoices_list[0].payment_date
if payment_date <= datetime.now():
owing = invoice_gross
if payment_date > datetime.now():
owing = 0
return render_to_response(('index.html', locals()), {'invoices_list': invoices_list ,'invoice_name':invoice_name, 'invoice_gross':invoice_gross,'payment_date':payment_date,'owing':owing}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
哦,我的桌子基本上都是这样做的.
ID Owing
1 100 (All the same value)
2 100
3 100
. .
. .
. .
Run Code Online (Sandbox Code Playgroud) 我在视图中有评论,我想用列表顶部的最新评论对它们进行排序.但它不起作用.我收到这个错误.
Caught TypeError while rendering: 'Comment' object is not iterable
我不太确定导致这个问题的原因.这是我的观点和模型可能会有所帮助.
查看
def home(request):
comments = Comment.objects.latest('datetime')
return render_to_response('home.html', {'comments':comments}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
楷模
class Comment(models.Model):
name = models.CharField(max_length = 40)
datetime = models.DateTimeField(default=datetime.now)
note = models.TextField()
def __unicode__(self):
return unicode(self.name)
Run Code Online (Sandbox Code Playgroud) 我想使用pisa为pdf文件生成一个html模板.我相信我拥有我需要的所有包裹,但我似乎遇到了问题.以下是我到目前为止的观点.
编辑:这是我最新的网址,视图和模板.
url.py
(r'^index/render_pdf/(?P<id>\d+)/$', render_pdf),
Run Code Online (Sandbox Code Playgroud)
views.py
def fetch_resources(uri, rel):
path = os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, ""))
return path
def render_pdf (html, id):
invoice_items_list = Invoice_Items.objects.filter(pk=id)
result = StringIO.StringIO()
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1")), dest=result, link_callback=fetch_resources)
return result
Run Code Online (Sandbox Code Playgroud)
在模板中,我有这个标签.
<a href="{% url c2duo.views.render_pdf invoices.pk %}">
Run Code Online (Sandbox Code Playgroud) 我想打印某种时间戳或某种功能来告诉它在模板中的日期和时间.在我看来,我有
time = datetime.now()
Run Code Online (Sandbox Code Playgroud)
在我的模板中我有
{{time}}
Run Code Online (Sandbox Code Playgroud)
所有这一切都打印出一个<type 'datetime.date'>对象.
我需要一些帮助.
在我的models.py中,我有一个Note表.我想要对此表做的是创建一个表单,用户可以在文本字段中为特定客户端输入一些注释.
models.py
class Note(models.Model):
client = models.ForeignKey(Client)
datetime = models.DateTimeField(default=datetime.now)
user = models.ForeignKey(User)
note = models.TextField()
def __unicode__(self):
return unicode(self.user)
Run Code Online (Sandbox Code Playgroud)
现在,当用户输入注释时,他们应该只看到注释文本字段.表单提交后,表单应自动将日期+时间保存到时间和日期.我好像在用户字段.提交表单后,经过身份验证的用户应自动保存.我不确定你怎么能这样做.我也想自动保存客户端,以便您可以访问客户端页面(r'^clients/(?P<client_id>\d+)/$', views.get_client),从该客户端自动保存.
这是我在forms.py中写的内容
forms.py
class NoteForm(forms.ModelForm):
class Meta:
model = models.Note
exclude = ('client','user','datetime')
Run Code Online (Sandbox Code Playgroud)
在这里我的观点也是如此.
Views.py
def add_notes(request, client_id):
client = models.Client.objects.get(pk = client_id)
notes = client.note_set.all()
if request.method == 'POST':
form = forms.NoteForm(request.POST)
if form.is_valid():
form.save(True)
request.user.message_set.create(message = "Note is successfully added.")
return HttpResponse("<script language=\"javascript\" type=\"text/javascript\">window.opener.location = window.opener.location; window.close();</script>")
else:
form = forms.NoteForm()
return …Run Code Online (Sandbox Code Playgroud) 您好我的登录页面上有一个背景图片.目前图像居中但不按照我想要的方式居中.我想要它,所以图像总是居中在屏幕中间.当然,我的图像居中但位于页面顶部.图像需要位于屏幕中间,并保持居中.
login.html
<body style="background-image: url({{MEDIA_URL}}/admin_media/img/admin/bigstock_Photo_Showing_Financial_Growth_1339836.jpg); background-position: 50% 50%; background-repeat:no-repeat;">
Run Code Online (Sandbox Code Playgroud) 我想在这个表格中加上一些帮助文本.
class ItemForm(forms.ModelForm):
alternative_id = forms.CharField(max_length = 60, required = False, help_text = 'Valid wildcard search is in the format *XX, *XX*, XX*')
Run Code Online (Sandbox Code Playgroud)
但它不会出现在页面上.是因为我可能需要某处的模板标签吗?
编辑:我在我的模板中写了这个.
<div id="location_header">Search for Items</div>
<div id="form_container">
<form action="." method="post">
<fieldset class="model">
{{ form.as_p }}
{{ alternative_id.help_text }}
</fieldset>
<div id="form_footer">
<input type="submit" value="Search" >
</div>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
帮助文本仍然不会出现.有没有办法写一个帮助文本,同时允许django生成一个表单?
我需要帮助编写一个获取POST数据的视图,然后找出已经检查了哪些复选框,然后从id匹配的数据库中删除项目.最初,这是一个复选框问题.在编辑订单表单中,有一个项目列表.现在我可以使用一些javascript删除该项目,但它没有得到保存,因为我需要从我的数据库完全删除它.我尝试使用我的编辑订单视图使用delete()删除项目,但这不起作用.一定有别的我做错了,但我不知道是什么.
delete_item = request.POST.get('delete_item', None)
if request.method == 'POST':
form = forms.OrderForm(request.POST, instance = order)
if form.is_valid() and save_item is not None:
form.save(True)
request.user.message_set.create(message = "The order has been updated successfully.")
return HttpResponse("<script language=\"javascript\" type=\"text/javascript\">window.opener.location = window.opener.location; window.close();</script>")
if status is not None and contact is not None and save_status is not None and delete_item is not None:
try:
for id in status_items:
item = models.StorageItem.objects.get(pk = id)
delete = item
delete.delete()
current_status = models.ItemStatusHistory(item = item, contact = contact, …Run Code Online (Sandbox Code Playgroud)