django模板
{%include 'xxx.html' %}
过滤器{{ datetime | date }}
管道嵌套
继承{%extends 'base.html' %}
django里的‘|’是输出的意思
发表博客
从setting里新建一个blogmanager的app
startapp blogmanager
新建三个页面:
addd.html:
<head>
<meta charset="UTF-8">
<title>发表博客</title>
<script type="text/javascript" charset="utf-8" src="/static/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="/static/ueditor/_examples/editor_api.js"></script>
</head>
<body>
<h2>发表博客</h2>
<form action="/blogmanager/addBlog" method="post">
标题 <input type="text" name="title"/><br>
内容 {% csrf_token %}
<script type="text/plain" id="uploadFile" name="uploadFile">
<p>欢迎使用UEditor!</p>
</script>
<input type="submit" value="通过input的submit提交">
<input type="submit" value="发表博客">
</form>
<script type="text/javascript">
var editor_a = UE.getEditor('uploadFile',{initialFrameHeight:500,serverUrl:'/blog/handler'});
</script>
detail.html:
<head>
<meta charset="UTF-8">
<title>发表成功</title>
</head>
<body>
<a href="/blogmanager/show">返回主页</a><br>
标题:{{ blog.title }}<br>
作者:{{ blog.blogUser.blogName }}<br>
创建时间:{{ blog.createTime |date:"Y年m月d日H:i:s" }}
{% autoescape off %}
内容:{{ blog.content }}
{% endautoescape %}
</body>
show.html:
<head>
<meta charset="UTF-8">
<title>自定义分页</title>
</head>
<body>
欢迎{{ blog.session.username }}<br>
<a href="/blogmanager/addBlog">发表博客</a>
{% for blog in blogList %}
<a href="/blogmanager/blogDetail/{{ blog.id }}">{{ blog.title }}</a>
作者:{{ blog.blogUser.userName }}
发布时间{{ blog.createTime | date:"Y年m月d日H:i:s" }}
{% endfor %}
<a href="/blogmanager/show/1">首页</a>
{% if prePage > 0 %}
<a href="/blogmanager/show/{{ prePage }}">上一页</a>
{% endif %}
{% if nextPage <= pages %}
<a href="/blogmanager/show/{{ nextPage }}">下一页</a>
{% endif %}
<a href="/blogmanager/show/{{ pages }}">尾页</a>
<form action="/blogmanager/show" method="post">
{% csrf_token %}
跳转到<input type="text" size="3" name="pageNo"/>
<input type="submit" value="GO"/>
</form>
</body>
在blogmanager新建urls
from django.urls import path
from blogmanager.views import *
#from . import uecontroller
app_name='bloguser'
urlpatterns=[
path('addBlog',addBlog),
path('show/<int:pageNo>',show,name='show'),
path('show',show,name='show'),
path('blogDetail /<int:id>',blogDetail)
]
在views里写:
在tools里要重新迁移0001
from django.shortcuts import render,redirect,reverse
from .models import Blog
from blog.models import BlogUser
from datetime import datetime
# Create your views here.
def addBlog(request):
if request.session.get("username") is None:
return render(request, "login.html")
else:
if request.method=='GET':
return render(request,"manager/addd.html")
else:
#接受博客内容
title=request.POST.get("title")
content=request.POST.get("content")
print('富文本---',content)
blog=Blog()
blog.title=title
blog.content=content
#从session中获取用户名
username=request.session.get("username")
blog.blogUser=BlogUser.objects.filter(userName=username).first()
blog.createTime=datetime.now()
blog.save()
print('保存成功')
return redirect("show/1")
分页:paseNo:当前页码;paseSize:每页显示的最大记录数;pages:共多少页
def show(request,pageNo=1):
if request.POST.get("pageNo") is not None:
return render(request.POST.get("pageNo"))
#获取第几页,每页显示的最大记录数select * from tablename limit(pageno-1)*pageSize,pageSize
pageSize=4
beginIndex=(pageNo-1)*pageSize
blogList=Blog.objects.all().order_by("-createTime")[beginIndex:(pageNo-1)*pageSize+pageSize]#从数据库中查询所有数据
pages=ceil(Blog.objects.count()/4)
return render(request,"manager/show.html",{"blogList":blogList,"nextPage":pageNo+1,"prePage":pageNo-1,"pages":pages})
def blogDetail(request,id):
blog=Blog.objects.get(pk=id)
return render(request,"manager/detail.html",{"blog":blog})
{%include 'xxx.html' %}
过滤器{{ datetime | date }}
管道嵌套
继承{%extends 'base.html' %}
django里的‘|’是输出的意思
发表博客
从setting里新建一个blogmanager的app
startapp blogmanager
新建三个页面:
addd.html:
<head>
<meta charset="UTF-8">
<title>发表博客</title>
<script type="text/javascript" charset="utf-8" src="/static/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="/static/ueditor/_examples/editor_api.js"></script>
</head>
<body>
<h2>发表博客</h2>
<form action="/blogmanager/addBlog" method="post">
标题 <input type="text" name="title"/><br>
内容 {% csrf_token %}
<script type="text/plain" id="uploadFile" name="uploadFile">
<p>欢迎使用UEditor!</p>
</script>
<input type="submit" value="通过input的submit提交">
<input type="submit" value="发表博客">
</form>
<script type="text/javascript">
var editor_a = UE.getEditor('uploadFile',{initialFrameHeight:500,serverUrl:'/blog/handler'});
</script>
detail.html:
<head>
<meta charset="UTF-8">
<title>发表成功</title>
</head>
<body>
<a href="/blogmanager/show">返回主页</a><br>
标题:{{ blog.title }}<br>
作者:{{ blog.blogUser.blogName }}<br>
创建时间:{{ blog.createTime |date:"Y年m月d日H:i:s" }}
{% autoescape off %}
内容:{{ blog.content }}
{% endautoescape %}
</body>
show.html:
<head>
<meta charset="UTF-8">
<title>自定义分页</title>
</head>
<body>
欢迎{{ blog.session.username }}<br>
<a href="/blogmanager/addBlog">发表博客</a>
{% for blog in blogList %}
<a href="/blogmanager/blogDetail/{{ blog.id }}">{{ blog.title }}</a>
作者:{{ blog.blogUser.userName }}
发布时间{{ blog.createTime | date:"Y年m月d日H:i:s" }}
{% endfor %}
<a href="/blogmanager/show/1">首页</a>
{% if prePage > 0 %}
<a href="/blogmanager/show/{{ prePage }}">上一页</a>
{% endif %}
{% if nextPage <= pages %}
<a href="/blogmanager/show/{{ nextPage }}">下一页</a>
{% endif %}
<a href="/blogmanager/show/{{ pages }}">尾页</a>
<form action="/blogmanager/show" method="post">
{% csrf_token %}
跳转到<input type="text" size="3" name="pageNo"/>
<input type="submit" value="GO"/>
</form>
</body>
在blogmanager新建urls
from django.urls import path
from blogmanager.views import *
#from . import uecontroller
app_name='bloguser'
urlpatterns=[
path('addBlog',addBlog),
path('show/<int:pageNo>',show,name='show'),
path('show',show,name='show'),
path('blogDetail /<int:id>',blogDetail)
]
在views里写:
在tools里要重新迁移0001
from django.shortcuts import render,redirect,reverse
from .models import Blog
from blog.models import BlogUser
from datetime import datetime
# Create your views here.
def addBlog(request):
if request.session.get("username") is None:
return render(request, "login.html")
else:
if request.method=='GET':
return render(request,"manager/addd.html")
else:
#接受博客内容
title=request.POST.get("title")
content=request.POST.get("content")
print('富文本---',content)
blog=Blog()
blog.title=title
blog.content=content
#从session中获取用户名
username=request.session.get("username")
blog.blogUser=BlogUser.objects.filter(userName=username).first()
blog.createTime=datetime.now()
blog.save()
print('保存成功')
return redirect("show/1")
分页:paseNo:当前页码;paseSize:每页显示的最大记录数;pages:共多少页
def show(request,pageNo=1):
if request.POST.get("pageNo") is not None:
return render(request.POST.get("pageNo"))
#获取第几页,每页显示的最大记录数select * from tablename limit(pageno-1)*pageSize,pageSize
pageSize=4
beginIndex=(pageNo-1)*pageSize
blogList=Blog.objects.all().order_by("-createTime")[beginIndex:(pageNo-1)*pageSize+pageSize]#从数据库中查询所有数据
pages=ceil(Blog.objects.count()/4)
return render(request,"manager/show.html",{"blogList":blogList,"nextPage":pageNo+1,"prePage":pageNo-1,"pages":pages})
def blogDetail(request,id):
blog=Blog.objects.get(pk=id)
return render(request,"manager/detail.html",{"blog":blog})