django笔记

建表建立外键:
people=models.ForeignKey(People,on_delete=models.SET_NULL,null=True)

views.py里不让models报错需导包:
from 子应用 import models

在urls。py里:
导个include包
path('nov/',include('novelapp.url')),

在app下建个url。py文件呢:
from django.urls import path
from novelapp import views
app_name='np'
urlpatterns=[
path("login",views.login,name="login"),
path("index",views.index,name="index"),

在登录界面存入session:在登录成功之前

request.session['wh']=account #存入session
request.session.set_expiry(300) #设置有效期
获取session:
wh=request.session.get('wh')

 


图片:
如果模板要求展示图片,可以在模板里加{% load staticfiles %}
展示图片:
<td><img src="{% static i.picture %}" style="width:100px;height:60px;"></td>

消息闪现需要导的包:
from django.contrib import messages #消息闪现

messages.warning(request,'要闪现的内容')
用了消息闪现要在模板添加for循环:

{% for i in messages %}
{{i}}
{% endfor %}

点击什么进入详情页:
<td><a href="{% url 'np:content' %}?id={{i.id}}">{{i.name}}</a></td> 这个是点击小说名进入小说详情页


删除:根据id进行删除
写个删除函数用GET获取id,配路由
id=request.GET.get('id')
models.Novel.objects.filter(id=id).delete()
return redirect(reverse('np:index'))

<td><a href="{% url 'np:dele' %}?id={{i.id}}">删除</a></td>


分页:
函数里导的包:
from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger #导入分页
根据什么进行排序:cu=models.Movie.objects.all().order_by('time')
id=request.GET.get('page',1) #分页
p=Paginator(cu,3) #一页里有三条数据
p1=p.page(int(id)) #转化int类型
首页模板里的在</table>下:
{% for i in p.page_range %}
<a href="{% url 'np:index' %}?page={{i}}"><button>{{i}}</button></a>
{% endfor %}

 


查询要排序的表里的

posted @ 2019-04-24 20:58  一切来源于奋斗  阅读(97)  评论(0编辑  收藏  举报