上节课我们成功的搞定了host域名管理相关的部分。本节我们要开始弄公共请求头了。
大家会不会有一种,不知道要怎么下手的感觉,其实很简单。我们可以看下目前的结构,我们在下面写一个全局域名。其实整体设计和全局请求头基本一致,只是当中的标签id 数据字段 函数名需要更改。前端如此,urls.py,和views.py还有models.py基本都是复制粘贴全局请求头的,这样不就简单了么?
不要怀疑这种借鉴抄袭copy的方法,这其实是最正常和常见的方法,谁还能天天写什么都需要去创新,去创造,去设计?那不累死了。就算博主我也是大部分都是借鉴自己之前的项目内方法,写的时候稍微加上一些灵光一闪的设计变化而已。毕竟我们最高级的程序员 往往会使用最简单的code方式:
ctrl+c / v
我们先去models.py中搞定这个全局域名的数据层设计:
然后执行那两句命令:
然后去admin.py:
最后去后台 手动创建俩条数据:
到此。我们的数据层设计完成,demo也弄了两条。怎么样,这个路线记住了么?
然后是后台views.py中设置:
如上图,我们不管三七二十一,反正看到全局请求头加上了,那我们给全局host也加上,准没错。
然后是发现全局请求头有自己的个保存函数,我们直接无脑复制了。
如上图,下面那个就是我们准备要动手改成全局域名host的函数:
改成如下即可:
# 保存项目公共域名
def save_project_host(request):
project_id = request.GET['project_id']
req_names = request.GET['req_names']
req_hosts = request.GET['req_hosts']
req_ids = request.GET['req_ids']
names = req_names.split(',')
hosts = req_hosts.split(',')
ids = req_ids.split(',')
for i in range(len(ids)):
if names[i] != '':
if ids[i] == 'new':
DB_project_host.objects.create(project_id=project_id,name=names[i],host=hosts[i])
else:
DB_project_host.objects.filter(id=ids[i]).update(name=names[i],host=hosts[i])
else:
try:
DB_project_host.objects.filter(id=ids[i]).delete()
except:
pass
return HttpResponse('')
其实我只是把其中的key和value俩个字段 换成了 host字段而已。
然后我们去改urls.py,怎么样是不是感觉,整个开发过程和之前逆转过来了?其实根本没有必须的顺序,自己怎么舒服怎么来。
本节到此就结束了,下节我们ctrl+v html层的全局域名