标签: django-templates

Django:如何传递变量以包含 url 标签中的标签?

所以现在我硬编码到 url,如果你移动端点,这会有点烦人。这是我当前的导航栏项目设置。

# in base.html

{% include 'components/navbar/nav-item.html' with title='Event Manager' url='/eventmanager/' %}
Run Code Online (Sandbox Code Playgroud)
# in components/navbar/nav-item.html

<li>
  <a href="{{ url }}">{{ title }}</a>
</li>
Run Code Online (Sandbox Code Playgroud)

看看我现在如何使用该网址?

我现在想要的是这样的:

{% include 'components/navbar/link.html' with title='Event Manager' url={% url 'event_manager:index' %} %}
Run Code Online (Sandbox Code Playgroud)

但显然,这是无效的语法。我该怎么做?

如果不可能,我如何创建一个应用程序,以某种方式创建一个视图,我可以在其中传递带有上下文变量的所有 URL?从理论上讲,这听起来很简单,但我必须以某种方式将该视图插入到所有其他视图中。

python django django-templates django-urls django-views

1
推荐指数
1
解决办法
819
查看次数

Django - ModuleNotFoundError:没有名为“bootstrap5”的模块

我正在尝试运行一个由其他开发人员制作的 django 应用程序。首先我得到 *ModuleNotFoundError: No module named 'django_heroku'*这是通过pip install django-heroku解决的。现在我收到这个错误。

ModuleNotFoundError: No module named 'bootstrap5'
Run Code Online (Sandbox Code Playgroud)

然后我做了这个

pip install django-bootstrap5
Run Code Online (Sandbox Code Playgroud)

看起来已经安装了bootstrap5。但是当我尝试再次运行该应用程序时,我遇到了同样的错误。这是它显示的内容。

(venv) D:\django\multi-vendor-shop-management-main>python manage.py runserver
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Python39\lib\threading.py", line 973, in _bootstrap_inner
    self.run()
  File "C:\Python39\lib\threading.py", line 910, in run
    self._target(*self._args, **self._kwargs)
  File "D:\django\venv\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "D:\django\venv\lib\site-packages\django\core\management\commands\runserver.py", line 125, in inner_run
    autoreload.raise_last_exception()
  File "D:\django\venv\lib\site-packages\django\utils\autoreload.py", line 87, in raise_last_exception
    raise _exception[1]
  File …
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-models django-views

1
推荐指数
1
解决办法
8647
查看次数

如何设计在Linux中正常渲染的html页面?

我通常更喜欢linux编程(我在Ubuntu上的django程序).但是我经常需要设计在Windows和Linux中正确渲染的html页面吗?

iam目前如何做到这一点是

  1. 在linux中设计(修复)html页面

  2. 重新启动到Windows检查设计是否正确.如果没有重启到linux重复step1,step2

我觉得上面的过程很乏味.有没有更简单的方法来做到这一点?

html css django xhtml django-templates

0
推荐指数
2
解决办法
286
查看次数

在谷歌应用引擎模板中使用"范围" - 循环

我有一个appengine项目,在我的模板中我想做类似的事情

{% for i in range(0, len(somelist)) %}
  {{ somelist[i] }} {{ otherlist[i] }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用'forloop.counter'来访问列表项,但这也没有用.有什么建议?

问候,复数

python django-templates

0
推荐指数
1
解决办法
758
查看次数

django模板语言中的文字?

如果我想要一些文字在Django模板中出现,例如

{{Image.jpg|title}}
Run Code Online (Sandbox Code Playgroud)

我希望在HTML中输出(不解释)该文本,我该怎么办?

python django templates django-templates literals

0
推荐指数
1
解决办法
442
查看次数

如何尝试不提供模板的可重用django应用程序?

许多可重用的django应用程序不包含内部的默认模板.James Bennett在他的演示文稿中说,提供真正可移植的默认模板的Reusable Apps非常难.他补充说,他的registration应用程序的第一个版本中的大多数错误报告都与默认模板有关.

这是一个有效的观点.但是没有任何默认模板,很难理解应用程序如何被重用,因为程序员无法看到可重用的应用程序.

你有什么建议来克服这个问题?

django documentation code-reuse django-templates

0
推荐指数
1
解决办法
227
查看次数

Django模板:在标签中包含段落的前n个单词

使用标准的Django模板系统,是否有任何片段/可重复使用的模板标签将一段文本中的前n个单词包含在标签中,以便我可以设置它们的样式?

我理想的是:

{{item.description|wrap:"3 span big"}}
Run Code Online (Sandbox Code Playgroud)

哪个输出:

<span class="big">Lorem ipsum dolor</span> sit amet, consectetur adipiscing elit.
Run Code Online (Sandbox Code Playgroud)

如果出于任何原因,这将是不可行或非常难以获得的,我可以使用JavaScript并在客户端执行,但我希望能够在页面输出上执行此操作.

django templates django-templates

0
推荐指数
1
解决办法
1731
查看次数

有关django模板中对象的额外数据

我有django对象:

class Event(models.Model):
   title = models.CharField(max_length=255)
   event_start_date = models.DateField(null=True, blank='true')
   ...

class RegistrationDate(models.Model):
    event = models.ForeignKey(tblEvents)
    date_type = models.CharField(max_length=10, choices=registration_date_type)
    start_date = models.DateField(blank='true', null='true')
    end_date = models.DateField(blank='true', null='true') 
Run Code Online (Sandbox Code Playgroud)

事件可以具有早期,正常和晚期注册期.

我写了一个函数,它接受一个事件并返回以下之一:None,"Early","Normal"或"Late"

一切都很好.

在我的应用程序中,我想显示一个事件列表以及它们的注册状态.所以我这样做了一个查询.

Events = tblEvents.objects.all()
Run Code Online (Sandbox Code Playgroud)

所以我有关于事件的所有信息,但没有状态.

获取模板中显示的每个事件的状态的最简单/最佳方法是什么.

我认为我可以编写一个模板标签,但这似乎更多的工作应该是必要的.

python django django-templates django-models

0
推荐指数
1
解决办法
188
查看次数

Django 1.2中的消息框架问题

我正在运行Django 1.2 beta并试用新功能:消息框架.

http://docs.djangoproject.com/en/dev/ref/contrib/messages/

一切似乎都有效,但当我尝试输出消息时,我什么也得不到.似乎messages变量是空的.我仔细检查了所有设置,它们似乎就像在手册中一样.可能有什么不对?

settings.py

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware', #send messages to users
    'django.middleware.locale.LocaleMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',

    #debug tool
    'debug_toolbar.middleware.DebugToolbarMiddleware',
)

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.messages.context_processors.messages', #send messages to users
    'django.core.context_processors.auth',
)

#Store messages in sessions
MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage';

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    #'django.contrib.sites',
    'django.contrib.admin',
    'django.contrib.messages', 
    'debug_toolbar',

    #my apps
    #...
)
Run Code Online (Sandbox Code Playgroud)

views.py

def myview(request):

    from django.contrib import messages

    messages.error(request, 'error test');   
    messages.success(request, 'success test');   

    return render_to_response('mytemplate.html', locals()); 
Run Code Online (Sandbox Code Playgroud)

mytemplate.html

{% for message in messages %}
        {{ message …
Run Code Online (Sandbox Code Playgroud)

django django-templates

0
推荐指数
1
解决办法
1725
查看次数

Django在模板中的并行数组

我有2个数组,我想在模板中呈现,一个是要输出的数据,另一个是用于删除项目的formset.因为似乎django不支持模板标签中的布尔运算符,所以我尝试打包项目,但它们只返回第一个项目和第一个表格.

如何打包这些项目,以便它们在一个for循环中呈现.

我的看法

@login_required
def forums(request ):

    post = list(forum.objects.filter(child='0')&forum.objects.filter(deleted='0'))
    user = UserProfile.objects.get(pk=request.session['_auth_user_id'])
    newpostform = PostForm(request.POST)
    deletepostform = PostDeleteForm(request.POST)
    DelPostFormSet = modelformset_factory(forum, exclude=('child','postSubject','postBody','postPoster','postDate','childParentId'))
    readform = ReadForumForm(request.POST)
    if newpostform.is_valid():
        topic = request.POST['postSubject']
        poster = request.POST['postPoster']
        newpostform.save()
    newpostform = PostForm(initial = {'postPoster':user.id})
    post = list(forum.objects.filter(child='0')&forum.objects.filter(deleted='0'))

    else:
        newpostform = PostForm(initial = {'postPoster':user.id})

    if request.method == 'POST':
        delpostformset = DelPostFormSet(request.POST)
        if delpostformset.is_valid():
            delpostformset.save()

    else:
        delpostformset = DelPostFormSet(queryset=forum.objects.filter(child='0', deleted='0'))


    """if readform.is_valid():
        readform.save()
    else:
        readform = ReadForumForm()"""


    return render_to_response('forum.html', {'post':( post,delpostformset.forms), 'newpostform': newpostform, })
Run Code Online (Sandbox Code Playgroud)

我的模板

<table …
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-views

0
推荐指数
1
解决办法
513
查看次数