在Django中编写基于函数的视图的最佳方式是什么?
在Django中编写视图(作为函数)的推荐方法是什么 我问的是可读性等问题。 例如:首先定义模板,然后进行翻译,然后定义模型,最后定义上下文 下面是一些示例代码:在Django中编写基于函数的视图的最佳方式是什么?,django,python-3.x,django-views,Django,Python 3.x,Django Views,在Django中编写视图(作为函数)的推荐方法是什么 我问的是可读性等问题。 例如:首先定义模板,然后进行翻译,然后定义模型,最后定义上下文 下面是一些示例代码: def index(request): # Landing page, translated to the browser's language (default is english) template = loader.get_template("koncerti/index.html") # Translato
def index(request): # Landing page, translated to the browser's language (default is english)
template = loader.get_template("koncerti/index.html")
# Translators: This is the text on the homepage buttons
concerts = gettext("Koncerti")
band = gettext("Band")
# Translators: This is the option in the language-switch box
foreignLanguage = gettext("eng")
koncertiUrl = '/koncerti/international' # The URL slug leading to 'koncerti' page
bandUrl = '/band/international' # The URL slug leading to 'band' page
translationMode = '' # The URL slug that is leading to slovenian translation mode
context = {
'Concerts' : concerts,
'Band' : band,
'foreignLanguage' : foreignLanguage,
'koncertiUrl' : koncertiUrl,
'bandUrl' : bandUrl,
'translationMode' : translationMode
}
return HttpResponse(template.render(context, request))
我认为你做的太多了。视图应该进行适当的查询集,并对数据库进行更改。因此,它的主要任务是决定渲染什么以及更新什么。而不是如何更新它 决定翻译、url解析等通常是模板的任务。该模板具有模板标记,例如和 强烈建议在自己构建的原始url上使用
{%url…%}
。这使得犯错误的几率更小,而且很清楚你所指的是什么观点
您可能还想使用。此函数结合查找模板、使用模板呈现引擎呈现该模板以及返回HTTP响应
from django.shortcuts import render
def index(request):
return render(request, 'koncerti/index.html', {})
在模板中,然后可以使用以下方法渲染:
{% load i18n %}
<a href="{% url 'view-name' %}">{% trans 'Koncerti' %}</a>
{%loadi18n%}
您在视图中做的太多了。通常,翻译和URL解析在模板中完成。非常感谢您的投入。我知道我迟了三个月才回复,但当你回复时,我真的无法理解你的答案。现在,我能更清楚地理解你的意思了。干杯