一、页面实现
index.html
base.html
post.html
header.html
footer.html
<!-- index.html--> {% extends 'base.html' %} <html lang="en"> <head> <meta charset="UTF-8"> <title>个人博客</title> </head> <body> <h1>欢迎来到我的博客</h1> {% for post in posts %} <hr> <p style="font-family: 微软雅黑 "> <a href="/post/{{ post.slug }}" rel="external nofollow" rel="external nofollow" >{{ post.title }}</a> </p> {% endfor %} <br> {{ now }} </body> </html> <div class="mainContext"> <div class="rightContext"> {% block title %}欢迎来到我的博客{% endblock %} {% block headmessage %}<h3 style="font: 微软雅黑;">文章列表</h3>{% endblock %} {% block content %} <ul> {% for post in posts %} <p> <li><a href="/post/{{ post.slug }}" rel="external nofollow" rel="external nofollow" >{{ post.title }}</a></li> </p> {% endfor %} </ul> {% endblock %} </div> </div>
<!-- base.html--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{% block title %} {% endblock %}</title> </head> <body> <div class="mainContext"> <div class="leftContext"> <h3 style="font: 微软雅黑;">文章分类</h3> <ul> <li><a href="/tag/?p=唐诗" rel="external nofollow" >唐诗</a></li> <li><a href="/tag/?p=宋词" rel="external nofollow" >宋词</a></li> <li><a href="/tag/?p=五言古诗" rel="external nofollow" >五言古诗</a></li> </ul> </div> <div class="rightContext"> <div class="top1"> {% include 'header.html' %} </div> <div class="mid2"> {% block headmessage %} {% endblock %} {% block content %} {% endblock %} </div> <div class="bot3"> <br/> {% include 'footer.html' %} </div> </div> </div> </body> </html>
<!-- post.html--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>post</title> </head> <body> <a href="http://localhost:8000/" rel="external nofollow" >返回上一页</a><br/> {{ post.body }} </body> </html>
<!-- footer.html--> {% block footer %} {% if now %} <p style="font-family: 微软雅黑">时间:{{ now }}</p> {% else %} <p style="font-family: 微软雅黑">如需转载请注明来源</p> {% endif %} {% endblock %}
models.py 数据表的设计
from django.db import models from django.utils import timezone from tinymce.models import HTMLField # Create your models here. class Post(models.Model): title = models.CharField(max_length = 200,verbose_name=u'标题')#标题 slug = models.CharField(max_length=200,verbose_name=u'文章网址')#文章网址 body = models.TextField()#文章内容 tags = models.CharField(max_length=100, verbose_name=u'标签') pub_date = models.DateTimeField(default = timezone.now)#发表时间 #pub_date 以timezone.now的方式让其自动产生时间 在执行需要pytz模块支撑 class Meta: db_table = '博客' ordering = ['pub_date']#按照发表时间排序显示顺序依据 def __str__(self):#设置此类所提供的数据项,显示文章标题 return self.title
数据表的迁移 在cmd中执行
python manage.py makemigrations python manage.py migrate
views.py 方法的实现
#初始页面 显示所有文章列表 def homepage(request): posts = Post.objects.all().order_by('-pub_date') return render(request, 'index.html', locals()) now = datetime.now() #显示文章内容 def show_detail(request,slug): try: post = Post.objects.get(slug = slug) if post != None: return render(request,'post.html',locals()) except: return redirect('/')#返回首页 #在views中调用属于同一个标签文章 def search_tag(request): #tag在URL中获取 tag = request.GET.get('p') print(tag) try: posts = Post.objects.filter(tags=tag)#注意这里写的是filter if posts != None:#这里使用的是posts,和index.html中对应 return render(request,'index.html',locals()) except: print('没找到')
url.py在url中注册路径
from django.conf.urls import url, include from django.contrib import admin from django.urls import path from myblogs import views #import tinymce urlpatterns = [ path('', views.homepage),#进入系统主页 path('admin/', admin.site.urls),#进入管理员页面 path('post/<slug:slug>/',views.show_detail),#显示详细信息# 定义拼接地址,获取标签信息 url(r'^tag/$', views.search_tag)#注意这里使用的是url 和正则表达式 需要前文中引入 #url(r'^tinymce/', include('tinymce.urls')), # 这是富文本编辑器 ]
在界面中添加css或者是图片
配置setting
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
在界面中引入
1.方法一 {% load staticfiles %} <title>{% block title %} {% endblock %}</title> 2.方法二 {% load staticfiles %} <link rel="stylesheet" href="{% static 'index.css' %}" rel="external nofollow" >
以上就是利用django创建一个简易的博客网站的示例的详细内容,更多关于django创建网站的资料请关注小牛知识库其它相关文章!
喜欢一个学习观点以教促学,一直以来,学习的时候经常会发现,某个方法某个问题自己已经明白了,但是在教给别人的时候确说不清楚,所以慢慢的学会了以教促学这种方法,在教给别人知识的同时也能够提升自己对语言,对框架的理解。
主要内容:1. 为什么要创建一个自己的网站,2. 定位,3. 创建网站的步骤,4.6 域名解析如果你有创建一个自己的网站这个冲动,要搭建一个属于自己的网络空间平台,但是苦于不知道从何下手,或者因为不知道水有多深,又或者觉得那是做IT,搞程序的人的专利,望而却步,本文绝对适合你。在开始之前我想说的是:搭建一个自己的网站没有你想的那么复杂,只要想搞(做),不懂问我。 本文不适合以下读者: 不喜欢甚至讨厌互联网 没有恒心,三分钟热度 差钱,对学习不肯投入 差时间,不愿意为自己所做的事情投入时间
本文向大家介绍web.py 十分钟创建简易博客实现代码,包括了web.py 十分钟创建简易博客实现代码的使用技巧和注意事项,需要的朋友参考一下 一、web.py简介 web.py是一款轻量级的Python web开发框架,简单、高效、学习成本低,特别适合作为python web开发的入门框架。官方站点:http://webpy.org/ 二、web.py安装 1、下载:http://webpy.o
BlogEngine.NET(博易) 是一款免费、开源的博客系统。2008年至今,本博基于 BlogEngine.NET 进行中文本地化,并将其努力在中国进行推广和应用。 博易遵循 W3C 标准,具有极强的可扩展性、高性能、良好的 SEO 性能和非凡的用户体验。不仅如此,博易还拥有一批高质量的用户群,他们的支持使博易得以不断地发展。 博易不仅开源,而且免费。所有的技术支持全部都是无偿提供的!博易的
本文向大家介绍sharepoint网络。创建一个网站,包括了sharepoint网络。创建一个网站的使用技巧和注意事项,需要的朋友参考一下 示例
手把手教你如何从0开始构建一个静态网站,这不需要有太多的编程和开发经验和时间投入,也基本不需要多少成本(除了个性化域名),使用GitHub和Hugo模板即可快速构建和上线一个网站。