您的位置:首页 > 理论基础 > 计算机网络

菜鸟网络工程师的成长笔记——第13天(2016.08.30)

2016-08-30 20:55 423 查看

菜鸟网络工程师的成长笔记——第13天(2016.08.30)

这些天真是压力很大,这种压力不是说工作强度大,而是来自能力上力不从心。我算是明白了,Django的开发可不是后台开发,Django就是让你能够一个人开发整个网站任务,所以前端要做,后台要做,数据库也要做。力不从心之时,甚至冒出了想法,想要辞职去专门培训一段时间。

昨天把游戏卸载了,Dota2,炉石。缓解压力最好的方法绝对不是打游戏。

14. 修改Django model中的的字段属性为null=True不生效

问题类型:Django,数据库

解决状态:已解决

问题描述

修改Django的模型,将一个字段的属性设为null=True,但是在数据库中没生效。

问题解决

null=True其实是针对数据库的,所以需要重新migrate才能生效。

14. 将数据库模型传入模板进行渲染

问题类型:Django, Template

解决状态:已解决

问题描述

有时候前端展示的基本上就是一个数据库表中的几行数据,所以需要将数据库表中的几行传入Template中进行渲染,也就是将几个model的实例传入模板。

问题解决

Django的Template接受可迭代对象,所以可以将model.objects变成可迭代对象传入模板。比如:

vendor = Vendor.objects.value()


然后就可以在Template中遍历vendor

15.url中实现/vendor/detail/1这种形式

问题类型:Django,url

解决状态:已解决

问题描述

在一个显示每个商户详细信息的页面中,需要以/vendor/detail/1这种形式根据id显示不同的商户信息,并且需要将这个id值传入视图函数,根据id的不同对一个模板进行不同的渲染。

问题解决

首先是url:

url(r'vendor/detail/(?P<id>\d+/$', vendor——detail(), name='vendordetail'),


这里?P表示将匹配到的字符串以名为id的参数传入视图函数,于是视图函数需要多接收一个参数id:

def vendor_detail(request, id):


然后在Template中可以以如下方式添加链接:

{% for case in vendors%}
<tr data-trade-no="{{ case.trade_no }}">
<td><a href="{% url 'admin_mt:vendordetail' id=case.id %}">{{ case.account_no }}</a></td>
</tr>
{% endfor %}


这里id后面是一个django的变量。变量在模板中单独使用时,需要用{{ variable }}的形式括起来。但如果在{% %}中,则不需要。

16.web上实现省市区三级联动的下拉菜单

问题类型:前端,javascript

解决状态:已解决

问题描述

让用户填写地址时通过下拉菜单选择省市区是非常常见的功能。

问题解决

这是个很常见的功能,可定已经有人实现了。通过js在前端实现是很自然的选择。在网上找到了一个现成的实现:

http://www.cnblogs.com/zjfree/archive/2011/11/30/2269342.html

是一篇博客,我将它放到了我的github中,位于:

https://github.com/haoranzeus/js_collection

以后会将一些好用的js文件收集到这个仓库中。

17. Django模型中OneToOneField实例互相引用

问题类型:Django, Model

解决状态:已解决

问题描述

比如在模型中有如下两个类:

Class A(models.Model):
...
Class B(models.Model):
a = motels.OneToOneFiled(A)


如果有一个B的实例b,可以这样引用与之关联的a实例:

b.a


如果反过来想通过a的实例引用与之关联的b实例,需要在定义B实例是添加反向引用时使用的名字,比如:

a = motels.OneToOneField(A, relate_name = "bsomething")


这样就可以通过这样的形式来引用与a实例相关联的b实例了:

a.bsomething
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息