Python+Django搭建自己的blog网站

首先我们将以下面两个示例为例,详细讲解“Python+Django搭建自己的blog网站”的完整攻略。

示例1

1. 创建项目和应用

首先需要安装Django,可以通过命令行输入pip install Django来进行安装。安装完成后,我们创建一个Django项目,可以通过输入如下命令创建:

django-admin startproject myblog

接着我们创建一个应用,用于实现blog的功能:

cd myblog
python manage.py startapp blog

2. 数据库模型设计

blog/models.py文件中定义博客文章的字段,例如文章标题、发布日期、文章内容等:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200, verbose_name='标题')
    pub_date = models.DateTimeField('发布日期')
    content = models.TextField(verbose_name='正文')

    def __str__(self):
        return self.title

3. 视图和模板设计

在blog应用中创建视图和相应的HTML模板,用于展示博客文章等信息。例如我们可以创建一个blog/views.py文件,定义视图函数:

from django.shortcuts import render
from .models import Post

def index(request):
    posts = Post.objects.all()
    return render(request, 'blog/index.html', {'posts': posts})

接着在blog/templates/blog/index.html文件中编写HTML模板,用于展示文章列表:

{% for post in posts %}
    <h1>{{ post.title }}</h1>
    <p>{{ post.pub_date }}</p>
    <p>{{ post.content }}</p>
{% endfor %}

4. URL配置

配置应用的URL,将请求转发到定义好的视图中。可以在应用的blog/urls.py文件中编写URL配置:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

并在项目的myblog/urls.py文件中包含应用的URL配置:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls')),
]

5. 启动服务器

最后我们可以通过以下命令启动Django服务器,查看我们的博客网站:

python manage.py runserver

在浏览器中输入http://localhost:8000/blog即可访问我们的博客网站。

示例2

1. 创建项目和应用

同样首先需要安装Django,输入pip install Django来进行安装。安装完成后,我们创建一个Django项目,可以通过输入如下命令创建:

django-admin startproject myblog

接着创建一个应用,用于实现blog的功能:

cd myblog
python manage.py startapp blog

2. 数据库模型设计

blog/models.py文件中定义博客文章的字段,例如文章标题、发布日期、文章内容等:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200, verbose_name='标题')
    pub_date = models.DateTimeField('发布日期')
    content = models.TextField(verbose_name='正文')

    def __str__(self):
        return self.title

3. 视图和模板设计

在blog应用中创建视图和相应的HTML模板,用于展示博客文章等信息。例如我们可以创建一个blog/views.py文件,定义视图函数:

from django.shortcuts import render
from django.views.generic import ListView, DetailView
from .models import Post

class PostListView(ListView):
    model = Post
    template_name = 'blog/index.html'
    context_object_name = 'posts'

class PostDetailView(DetailView):
    model = Post
    template_name = 'blog/detail.html'
    context_object_name = 'post'

接着在blog/templates/blog/index.html文件中编写HTML模板,用于展示文章列表:

{% for post in posts %}
    <h1>{{ post.title }}</h1>
    <p>{{ post.pub_date }}</p>
    <p>{{ post.content }}</p>
{% endfor %}

blog/templates/blog/detail.html文件中编写HTML模板,用于展示单篇文章内容:

<h1>{{ post.title }}</h1>
<p>{{ post.pub_date }}</p>
<p>{{ post.content }}</p>

4. URL配置

配置应用的URL,将请求转发到定义好的视图中。可以在应用的blog/urls.py文件中编写URL配置:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.PostListView.as_view(), name='index'),
    path('<int:pk>/', views.PostDetailView.as_view(), name='detail'),
]

并在项目的myblog/urls.py文件中包含应用的URL配置:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls')),
]

5. 启动服务器

最后我们可以通过以下命令启动Django服务器,查看我们的博客网站:

python manage.py runserver

在浏览器中输入http://localhost:8000/blog即可访问我们的博客网站,并在文章列表中点击链接查看单篇文章的详细内容。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python+Django搭建自己的blog网站 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Django实现跨域的2种方法

    这里是详细讲解“Django实现跨域的2种方法”的完整攻略: 什么是跨域 跨域是指从一个域名的网页去请求另一个域名的资源,比如从 http://www.example.com 的网页去请求 http://www.baidu.com 的资源。这是由浏览器的同源策略导致的。同源策略限制了从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。同源策略是为了保护…

    Django 2023年5月16日
    00
  • Django权限控制的使用

    当开发 Web 应用程序时,常常需要对不同用户的不同访问具有不同程度的控制和权限,这时候就需要使用 Django 的权限控制功能。接下来的攻略将详细讲解 Django 权限控制的使用方法,以及如何在 Web 应用程序中实现控制。 什么是 Django 权限控制 Django 权限控制是一种用于在 Web 应用程序中设置和管理权限的机制。通过使用 Django…

    Django 2023年5月16日
    00
  • django 类视图的使用方法详解

    Django 类视图的使用方法详解 Django 是一个开源的 Python Web 框架,使用 Django 可以方便地构建复杂的 Web 应用程序。类视图是 Django 中非常重要的一种视图方式,在本文中,我们将详细讲解 Django 类视图的使用方法。 什么是 Django 类视图 类视图是 Django 中的一种功能强大的视图方式,它可以让我们更加…

    Django 2023年5月16日
    00
  • Django之Form应用Bootstrap样式

    应用Bootstrap样式示例: <!DOCTYPE html> <html lang=”en”> <head> <meta charset=”UTF-8″> <meta http-equiv=”x-ua-compatible” content=”IE=edge”> <meta name=”v…

    Django 2023年4月10日
    00
  • Django笔记二十三之case、when操作条件表达式搜索、更新等操作

    本文首发于公众号:Hunter后端原文链接:Django笔记二十三之条件表达式搜索、更新等操作 这一篇笔记将介绍条件表达式,就是如何在 model 的使用中根据不同的条件筛选数据返回。 这个操作类似于数据库中 if elif else 的逻辑。 以下是本篇笔记的目录: model 和数据准备 When 和 Case 操作新增字段返回 条件搜索 条件更新 条件…

    Django 2023年4月14日
    00
  • Django 请求参数 Django 请求参数

    1.获取URL路径中的参数 需求:假设用户访问127.0.0.1/user/1/2,你想获取1,2。应该怎么操作呢? (1)未命名参数(位置参数) # 在项目下的urls.py下增加设置: url(r’^user/(\d+)/(\d+)$’,views.index) # 在user.views的index视图中: def index(request,a,b)…

    Django 2023年4月9日
    00
  • Django 权限管理

    对于Django而言,虽然自带了一些基本的通用权限限制,但现实中,可能我们更希望自己去定义业务权限划分     Django对于权限这块的部分验证方法 1 user = request.user 2 user.is_superuser #是否是超级管理员 3 user.s_anonymous() #是否匿名用户,及未登录用户 4 user.groups.se…

    Django 2023年4月11日
    00
  • Django设置/获取/删除session

    # 设置sessiondef setSession(request): request.session[‘username’] = ‘ruan’ request.session[‘isLogin’] = True return HttpResponse(‘OK’)# 获取session def GetSession(request): isLogin = r…

    Django 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部