Django模板系统在for循环中显示列表时添加空行.我试图渲染这个模板有点困惑:
<h1>My log</h1>
<textarea>
{% for item in items %}
{{ item }}
{% endfor %}
</textarea>
Run Code Online (Sandbox Code Playgroud)
我期望:
<h1>My log</h1>
<textarea>
* message line of text 1
* message
number 2 on multiple lines
* message line of text 3
</textarea>
Run Code Online (Sandbox Code Playgroud)
但我得到了:
<textarea>
* message line of text 1
* message
number 2 on multiple lines
* message line of text 3
</textarea>
Run Code Online (Sandbox Code Playgroud)
有没有办法抑制空行并获得理想的结果?
假设我有一个Class-room的表单模板.有两个领域
1. Teacher name
2. Subject
Run Code Online (Sandbox Code Playgroud)
该表格的另一部分称为学生.这部分将包含多个行数 (我的意思是假设用户可以按下按钮'添加另一个学生'并添加另一个学生).每行包括3个字段
1. name
2. email
3. phone
Run Code Online (Sandbox Code Playgroud)
所以最终形式的结构将是 -
Teacher name: ............ Subject:................
Students:
Name:................ Email:................. Phone:..............
Name:................ Email:................. Phone:..............
Name:................ Email:................. Phone:..............
Name:................ Email:................. Phone:..............
Run Code Online (Sandbox Code Playgroud)
添加另一名学生
如何在Django-form中为此结构构建单个表单.非常感谢提前.
我有以下格式的网址。
http://127.0.0.1:8000/accounts/login/?next=/event/contract-risk-management/review/
我需要从模板中“解析”“ / event / contract-risk-management / review /”部分。问题是我不知道如何在问号后得到零件。
我尝试了request.path,但它只返回了网址的第一部分。(无域)。
有谁知道我该怎么用?谢谢。
项目结构:
??? db.sqlite3
??? manage.py
??? static
? ??? admin
? ??? css
? ??? img
? ??? js
??? abc1
? ??? admin.py
? ??? __init__.py
? ??? migrations
? ? ??? __init__.py
? ??? models.py
? ??? templates
? ? ??? abc1
? ? ??? homepage.html
? ? ??? css
? ? ??? img
? ? ??? js
? ??? tests.py
? ??? urls.py
? ??? views.py
??? abc2
??? functions.py
??? __init__.py
??? settings.py
??? urls.py
??? …Run Code Online (Sandbox Code Playgroud) 我已经竭尽全力尝试为此提出一个解决方案,但是我目前对Python和Django的了解只能使我到目前为止。
我正在创建一个基本的票务系统,并且在创建Profile模型然后将Ticket模型分离到其自己的应用程序之前,CreateView一直可以正常工作。重构代码时已经创建了几张票证,这就是为什么我知道ListView有效,DeleteView和DetailView有效的原因。直到我按下“保存”按钮,CreateView才起作用。
我的观点和模型如下;我希望有人可以帮我解决这个问题。
票务模型
from django.db import models
from django.contrib.auth.models import User
....
from qcapp.models import Profile
class Ticket(models.Model):
# Relations
user = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name="tickets", verbose_name="user")
# Attributes
title = models.CharField(max_length=250, verbose_name="Title", help_text="Enter a Ticket Title")
color = models.CharField(max_length=7,
default="#ffffff",
validators=[RegexValidator("(^#[0-9a-fA-F]{3}$)|(^#[0-9a-fA-F]{6}$)")],
verbose_name="Color",
help_text="Enter the hex color code, like #ccc or #cccccc")
description = models.TextField(max_length=1000)
created_date = models.DateTimeField(default=timezone.now, verbose_name='Created Date')
created_by = models.ForeignKey(User, related_name='created_by_user')
# Attributes
# Object Manager
objects = managers.ProjectManager()
# Meta and String
class Meta:
verbose_name = …Run Code Online (Sandbox Code Playgroud) django django-templates django-models django-forms django-views
我要自定义主页上的问候语,因此它是:
登录并输入名字时:
约翰!你想去哪里?
其他:
你想去哪里?
这是我的模板:
{% if user.is_authenticated and not firstname_of_logged_user == None%}
<h1 class="text-center" id="extraglow">{{firstname_of_logged_user}}! where do
you want to go?</h1></label>
{%else%}
<h1 class="text-center" id="extraglow">where do you want to go?</h1></label>
{%endif%}
Run Code Online (Sandbox Code Playgroud)
但是,似乎没有选择“ not None”部分,因为如果用户登录但未输入名字,则显示如下:
!你想去哪里?
如果我说:
firstname_of_logged_user is not None
Run Code Online (Sandbox Code Playgroud)
它说一个错误:
if表达式末尾未使用的'is'。
似乎很简单,但是却行不通。怎么了?干杯!
我正在尝试检查网页中for循环内Jinja模板中的简单条件,该数字是否可以被三整除。我已经引用了以下链接 http://jinja.pocoo.org/docs/dev/templates/ (注意loop.index对我不起作用forloop.counter可以)
该代码是
{% extends "header.html" %}
{% block content %}
<h1>List of all Reference Ids</h1>
<table class="table table-striped">
{% for master in object_list %}
{% if forloop.counter divisibleby 3 %}
Do something
{%endif%}
<td> <a href="/data/{{ master.id }}"> {{ master.reference_id }} </a></td>
{% endfor %}
</table>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
尝试了以下各种组合
{% if forloop.counter divisibleby 3 %}
{%endif%}
{% if forloop.counter divisibleby(3 %}
{%endif%}
{% if divisibleby(forloop.counter,3) %}
{%endif%}
{% if divisibleby forloop.counter 3 %}
{%endif%}
{% if forloop.counter%3==0 …Run Code Online (Sandbox Code Playgroud) 我有两个模型如下:
class A(models.Model):
a = models.BooleanField(default=False)
q = models.BooleanField(default=False)
class B(models.Model):
c = models.Foreignkey('A', related_name='bb')
d = models.BooleanField(default=False)
e = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)
这是我的观点:
class Myview(ListView):
model = A
template_name = 'admin/layer.html'
def get_context_data(self, *args, **kwargs):
context = super(ListView, self).get_context_data(*args, **kwargs)
context['mylist'] = A.objects.filter(bb__e=False)
return context
Run Code Online (Sandbox Code Playgroud)
一切都工作正常,除了在我的模板'admin/layer.html'我尝试这个:
{% for list in mylist %}
{{ list.bb.d }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但我没有得到任何价值{{ list.bb.d }}我可以在django模板中以这种方式使用相关的字段名称吗?
我正在开发一个小应用程序,我可以在其中显示我的数据库中的所有表(sqlite3),并选择其中一个,可视化数据(我知道我可以使用管理员,但我需要在应用程序中这样做)
我的model.py中有不同的模型,比如myModel1,myModel2 ......
在我的views.py中
def myhomepage(request):
tables_list = connection.introspection.table_names()
return render(request, 'myhomepage.html', { 'tables_list': tables_list})
def detail_table(request, table):
try:
Table_to_View = ContentType.objects.get(app_label="myapp", model=table)
except Table_to_View.DoesNotExist:
raise Http404 ("La tabella non esiste")
context = {'Table_to_View' : Table_to_View }
return render(request, "detail_table.html", context )
Run Code Online (Sandbox Code Playgroud)
和模板myhomepage.html
{#something#}
<title>Lista delle tabelle</title>
<body>
{% if tables_list %}
<ul>
{%for t in tables_list %}
<li> <a href="{% url 'detail_table' t %}"> {{table}}</a></li>
{% endfor %}
</ul>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
这是urls.py
from django.conf.urls import url
from . …Run Code Online (Sandbox Code Playgroud) 我有一个固定的导航,我想添加下拉框,用户可以在其中单挑\(如Twitter使用).
我试过了:
# project/tempates/signup.html
{% load i18n %}
{% load account socialaccount %}
{% block head_title %}{% trans "Signup" %}{% endblock %}
{% block content %}
<h1>{% trans "Sign Up" %}</h1>
<p>{% blocktrans %}Already have an account? Then please <a href="{{ login_url }}">sign in</a>.{% endblocktrans %}</p>
<form class="signup" id="signup_form" method="post" action="{% url 'account_signup' %}">
{% csrf_token %}
{{ signupform.as_p }}
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<button type="submit">{% trans "Sign …Run Code Online (Sandbox Code Playgroud) django ×10
django-templates ×10
python ×4
django-views ×3
django-forms ×2
django-admin ×1
django-urls ×1