利用django创建一个简易的博客网站的示例

这篇文章主要介绍了利用django创建一个简易的博客网站的示例,帮助大家更好的学习和使用django框架,感兴趣的朋友可以了解下

一、页面实现

index.html
base.html
post.html
header.html
footer.html

  {% extends 'base.html' %}   个人博客 

欢迎来到我的博客

{% for post in posts %}

{{ post.title }}

{% endfor %}
{{ now }}
{% block title %}欢迎来到我的博客{% endblock %} {% block headmessage %}

文章列表

{% endblock %} {% block content %} {% endblock %}
   {% block title %} {% endblock %} 
{% include 'header.html' %}
{% block headmessage %} {% endblock %} {% block content %} {% endblock %}

{% include 'footer.html' %}
   post 返回上一页
{{ post.body }}
  {% block footer %} {% if now %} 

时间:{{ now }}

{% else %}

如需转载请注明来源

{% 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//',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 %} {% block title %} {% endblock %} 2.方法二 {% load staticfiles %} 

以上就是利用django创建一个简易的博客网站的示例的详细内容,更多关于django创建网站的资料请关注html中文网其它相关文章!

以上就是利用django创建一个简易的博客网站的示例的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » python