Django博客项目---首页设计

1.博客配图问题

在管理员页面添加博客时,可以添加博客配图,那么,图片被保存在哪里呢?显然直接把图片保存在数据库里是不太可能的,所以将图片保存在项目的文件夹下,数据库中只保存图片的路径即可。
(1)settings.py配置

MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace("\\", "/")
//在根目录中创建一个media文件夹
MEDIA_URL = '/media/'

(2)website/urls.py配置

from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
                  url(r'^admin/', admin.site.urls),
                  url(r'^blog/', include('blog.urls')),  # 将以blog/开头的路由转发到blog.urls
              ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

这样图片就会上传到media文件夹下的blog_images文件夹下了。

2.博客首页设计

(1)views.py配置,用来获取所有博客文章

from . import models
def index(request):
    entry_list = models.Entry.objects.all()
    page = request.GET.get('page', 1)  # 分页功能
    entry_list, paginator = make_paginator(entries, page)
    page_data = pagination_data(paginator, page) 
    return render(request, 'blog/index.html', locals())

(2)model.py配置,为了查看每条博客的详细内容,点击首页的微博标题后,自动生成一个url并进行跳转。

from django.urls import reverse
def get_absolute_url(self):
    return reverse('blog:blog_detail', kwargs={
   'blog_id': self.id})  # blog为app的名字,通过当前博客的id生成一个url,例如http://127.0.0.1/blog/3 

(3)index.html配置

{
   % for entry in entry_list %}
	<br/>
	<h2><a href="{
   { entry.get_absolute_url }}">{
   {
    entry.title }}</a></h2>

	{
   % if entry.img %}
	<div><img src="{
   { entry.img.url }}" alt="博客配图" width="50%"/></div>
	{
   % endif %
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值