个人博客

欢迎来到我的博客

{%forpostinposts%}
{{post.title}}

{%endfor%}
{{now}} {%blocktitle%}欢迎来到我的博客{%endblock%} {%blockheadmessage%}文章列表{%endblock%} {%blockcontent%}
    {%forpostinposts%}

  • {{post.title}}
  • {%endfor%}
{%endblock%}





{%blocktitle%}{%endblock%}




文章分类
  • 唐诗
  • 宋词
  • 五言古诗
{%include'header.html'%} {%blockheadmessage%}{%endblock%} {%blockcontent%}{%endblock%}
{%include'footer.html'%}





post


返回上一页
{{post.body}}

{%blockfooter%}
{%ifnow%}
时间:{{now}}

{%else%} 如需转载请注明来源

{%endif%} {%endblock%}

models.py数据表的设计

fromdjango.dbimportmodels
fromdjango.utilsimporttimezone
fromtinymce.modelsimportHTMLField
#Createyourmodelshere.
classPost(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模块支撑
classMeta:
db_table='博客'
ordering=['pub_date']#按照发表时间排序显示顺序依据
def__str__(self):#设置此类所提供的数据项,显示文章标题
returnself.title

数据表的迁移在cmd中执行

pythonmanage.pymakemigrations
pythonmanage.pymigrate

views.py方法的实现

#初始页面显示所有文章列表
defhomepage(request):
posts=Post.objects.all().order_by('-pub_date')
returnrender(request,'index.html',locals())
now=datetime.now()
#显示文章内容
defshow_detail(request,slug):
try:
post=Post.objects.get(slug=slug)
ifpost!=None:
returnrender(request,'post.html',locals())
except:
returnredirect('/')#返回首页
#在views中调用属于同一个标签文章
defsearch_tag(request):#tag在URL中获取
tag=request.GET.get('p')
print(tag)
try:
posts=Post.objects.filter(tags=tag)#注意这里写的是filter
ifposts!=None:#这里使用的是posts,和index.html中对应
returnrender(request,'index.html',locals())
except:
print('没找到')

url.py在url中注册路径

fromdjango.conf.urlsimporturl,include
fromdjango.contribimportadmin
fromdjango.urlsimportpath
frommyblogsimportviews
#importtinymce
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.方法一
{%loadstaticfiles%}
{%blocktitle%}{%endblock%}
2.方法二
{%loadstaticfiles%}

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

热门推荐

免责声明:网站资源来源于网络,如有侵权,请及时联系删除。

Copyright © 2024 好资源导航网. All Rights Reserved.

蜀ICP备2021004611号-4 网站地图