Django个人博客搭建教程---给你的博客添加收藏功能(一)

一、前言

对于每篇博客,添加收藏

二、urls.py

url(r'^collect/$', views.collect),

三、views.py

@csrf_exempt
def collect(request):

    if request.method == "POST":
        blog_id = request.POST.get('article_id')
        name = request.session.get('user_name')
        name_id = str(BlogUser.objects.get(name=name).id)
        # thisarticle = get_object_or_404(Articles, id=blog_id)
        # thisarticle.increase_views()
        data = {}
        if BlogUserCollect.objects.filter(blogid=blog_id).count() >= 1:
            data["result"] = "fail"
        else:
            obj = BlogUserCollect(blogid=blog_id,userid=name_id)
            obj.save()
            data["result"] = "success"
        return HttpResponse(json.dumps(data), content_type='application/json')

四、html

<style type="text/css">
                /*div通用样式*/
                #collect{
                background: #f5ab35;
                color:white;
                overflow: hidden;
                z-index: 9999;
                position: fixed;
                padding:5px;
                text-align:center;
                width: 50px;
                height: 50px;
                font-size: 18px;
                border-bottom-left-radius: 5px;
                border-bottom-right-radius: 5px;
                border-top-left-radius: 5px;
                border-top-right-radius: 5px;
                }

                /*右上角*/
                div.right_top{
                    right: 20px;
                    top: 300px;
                }
</style>
            {% if collect_flag == 0 %}
                <div id="collect" class="right_top"><span type="submit" class="iconfont icon-shoucang" style="text-align: center" onclick="collect()"></span></div>
            {% else %}
                <div id="collect" class="right_top"><span type="submit" class="iconfont icon-shoucang-copy" style="text-align: center;color: red" onclick="collect()"></span></div>
            {% endif %}
            <script type="text/javascript">
                function collect(){
                        var article_id = {{ blog_list.id }};
                        console.log(article_id);
                        $.ajax({
                            url:"/JiaBlog/collect/",
                            type:'POST',
                            data:{
                                csrfmiddlewaretoken: $("[name='csrfmiddlewaretoken']").val(),
                                article_id:article_id,
                            },
                            success:function (result) {
                                if(result.result=="fail" ){
                                   swal(
                                       '你已经收藏过啦!',
                                );}
                                else{
                                    swal(
                                    '收藏成功!',
                                );}
                            }
                        });
                }
            </script>

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建个人博客可以使用 Django,下面是从零开始搭建个人博客的步骤: 1. 安装 Django 使用 pip 命令安装 Django: ``` pip install django ``` 2. 创建 Django 项目 使用以下命令创建 Django 项目: ``` django-admin startproject myblog ``` 3. 创建 Django 应用 使用以下命令创建 Django 应用: ``` cd myblog python manage.py startapp blog ``` 4. 配置数据库 在 settings.py 中配置数据库: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } ``` 5. 创建博客模型 在 models.py 中创建博客模型: ```python from django.db import models class Blog(models.Model): title = models.CharField(max_length=100) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) def __str__(self): return self.title ``` 6. 迁移数据库 使用以下命令迁移数据库: ``` python manage.py makemigrations python manage.py migrate ``` 7. 创建博客视图 在 views.py 中创建博客视图: ```python from django.shortcuts import render from .models import Blog def blog_list(request): blogs = Blog.objects.all() return render(request, 'blog_list.html', {'blogs': blogs}) def blog_detail(request, pk): blog = Blog.objects.get(pk=pk) return render(request, 'blog_detail.html', {'blog': blog}) ``` 8. 创建博客模板 在 templates 目录下创建博客列表模板 blog_list.html: ```html {% extends 'base.html' %} {% block content %} {% for blog in blogs %} <h1>{{ blog.title }}</h1> <p>{{ blog.content }}</p> <p>{{ blog.created_at }}</p> <p>{{ blog.updated_at }}</p> {% endfor %} {% endblock %} ``` 在 templates 目录下创建博客详情模板 blog_detail.html: ```html {% extends 'base.html' %} {% block content %} <h1>{{ blog.title }}</h1> <p>{{ blog.content }}</p> <p>{{ blog.created_at }}</p> <p>{{ blog.updated_at }}</p> {% endblock %} ``` 9. 创建博客 URL 在 urls.py 中创建博客 URL: ```python from django.urls import path from . import views urlpatterns = [ path('', views.blog_list, name='blog_list'), path('<int:pk>/', views.blog_detail, name='blog_detail'), ] ``` 10. 创建基础模板 在 templates 目录下创建基础模板 base.html: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>{% block title %}{% endblock %}</title> </head> <body> <nav> <ul> <li><a href="{% url 'blog_list' %}">博客列表</a></li> </ul> </nav> {% block content %}{% endblock %} </body> </html> ``` 11. 运行 Django 项目 使用以下命令运行 Django 项目: ``` python manage.py runserver ``` 打开浏览器,在地址栏输入 http://localhost:8000/ 即可看到博客列表页。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值