简介:今天,首席CTO Note将与您分享如何穿越Django数据库。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
使用Django的模板系统。
例如,dic = {“ k1”:1,“ k2”:2}
在HTML文件中,使用
{DIC%的项目}%}
#使用dic.item
{%endfor%}
具体的写作是
结果= serverInformation.objects.get(id = 1)#filter是querySet,no _meta方法
allhost = serverInformation._meta.get_all_field_names()#this是正确的
vername = serverInformation._meta.get_field('serverType')。Verbose_name#此句子也是正确的,S erverType是模型的属性。
vervalue = serverInformation._meta.get_field('serverzone')。默认#可以获取默认值。如果大家都知道如何获得Verbose_name,为什么不直接想到.default。
PS:
getttr(对象,名称[,默认]))
getttr(x,'foobar')
等同于
X.Foobar
。如果不存在命名的属性,则默认值将拒绝,如果已证明,则会提出属性。
查看如何使用它。
舞台开始时没有问题。例如,我们在模型中有一个员工表员工。在相应的表结构中,柱列表示员工位置。操作由模型完成(posity = params)完成。获得的员工信息内容仅由QuerySet和当前显示页面以及每个页面显示的记录数量计算,然后返回到前台页面以进行渲染显示。编码如下:
1 def get_employees(位置,开始,结束):
2返回员工。过滤器(posity__in =姿势)
3
4
5 @login_required
6 def show(请求):
7如果没有价值(请求):
8返回render_to_response('none.html',
9 Context_Instance = requestContext(请求,'msg':'params error')
10)
11
12位置= request.request.get('posity')
13 time_range = request.request.get.get('time')
14开始,end = time_range [0],time_range [1]
15
16 num_per_page,page_num = get_num(请求)
17 all_empoloyees = get_employees(姿势,开始,结束)
18#根据当前页面和每个页面显示的记录数量,获取正确的记录
19员工=员工_events [(page_num-1)*num_per_page:page_num*num_per_page]
20
21返回render_to_response('show_employees.html',
22 context_instance = requestContext(
23请求,
24个“员工”:员工,
25'num_per_page':num_per_page,
26'page_num':page_num,
27“ page_options”:[50,100,200]
28)
29)
不要评估您的解决方案。您的模板比我更熟悉。我觉得您可能会四处走动。
该模块仅用于处理一些简单的周期。它不足以制作复杂的算法。这是Python最好的。
因此,您可以在python.form中处理它的结构,然后像“打印机”一样直接在模板中播放。
SO -called MVC并不是说允许所有视图都可以完成模板,并且所有数据逻辑都已完成。使这种概括复杂化。
在观众中,一切都很简单。这样的代码是可以阅读的,并且可以更好地维护。这实现了软件工程的目标。
pcr._meta.get_all_field_names()可以获取所有字段的名称,然后您可以使用pcr._meta.get_field()获取Verbose_name,getTattr()以获取值
结论:以上是主要CTO的全部内容,请注意如何遍历Django数据库。感谢您阅读本网站的内容。我希望它对您有所帮助。
