欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Django学习笔记6(iframe、外键插入)

程序员文章站 2022-07-10 22:05:27
1.{%include 'index.html'%i} 平时很好用的iframe在django里面的不是很好用 django里面提供了{%include 'index.html'%i}的方式来取代了ifame,但是在使用的时候,发现include的页面会受到父页面的css的影响,从而导致页面不理想 ......

1.{%include 'index.html'%i}

平时很好用的iframe在django里面的不是很好用

django里面提供了{%include 'index.html'%i}的方式来取代了ifame,但是在使用的时候,发现include的页面会受到父页面的css的影响,从而导致页面不理想

受影响的原因是因为父页面里面的class命名和iclude调用的页面的class有相同的

2.iframe

由于自己平时习惯使用ifame,且在做项目的额时候需要实现点击左面的链接,是网页的右部分显示不同的内容(其它对应的html页面)

a.这是需要点击的url

<li><a href="{% url 'user:user_detail_edit' %}" target="my">个人资料</a></li>

b.这是对应需要改变的页面

<div class="wrap-1-1">
     <iframe name="my" width="100%" height="400px"></iframe>
</div>

c.真正重要的是app里面urls.py的配置和views.py返回页面方法编写

path('user/edit/', views.user_detail_edit,name='user_detail_edit'),

def user_detail_edit(request):
    return  render(request,'user_detail.html')#这个页面便会呈现到上面的iframe

3.models里有外键,插入数据时

id = models.ForeignKey('A', unique=True)

举个例子,A表有主键id,B表里有主键id,且A.id是B表id的外键

我们在给B表插入数据的时候

A表里已有数据id=1

B.id=1,B.save(),

则会报类似的错

ValueError:Cannot assign:A must be a 'B' instance.

当我们改成

a=A();a.id=1;

B.id=a:B.save()

则可以解决了