基于Django2.0.6简易博客的搭建

可以说这个博客搭的非常简陋,我一个学了半个多学期前端的人竟然写出这么丑的页面,看着完成的界面自己都忍不住想笑(以后如果有时间要重新给这个博客写了个漂亮的前端),但是也是自己找了好久的BUG才弄好的。网上几乎所有的教程都是Django1.x的,没有基于Django2.0.6版本的完整教程,所以许多东西需要靠自己去查Django官方的英文文档。

这里我用的编辑器是Sublime,电脑所需的环境就是Python了(我用的是Windows系统),还有就是安装Django,在windows下安装django直接使用pip即可,命令为(Dos中敲命令) :

pip install django

装好django后,在Dos中直接输入以下命令,创建一个Django项目(你会发现在你的F盘下多了一个Blog的文件夹) :

django-admin startproject Blog

然后在当前文件夹中新建一个项目(注意:项目得包含在Blog下,所以cmd命令得先进入Blog),命令如下 :

//进入Blog
cd Blog
//创建新的项目
python manage.py startapp blog_web

这样就成功的创建了一个新的名为blog_web的项目工程,然后就可以开始搭建简易的博客了。

首先应该明白一个简单的博客的几个页面需求 :

  1. 博客首页,查看博客时出现的文章列表,文章是能够点击的超链接,能够新建一片文章
  2. 在点击文章题目时,能跳转到文章的内容页面,也就是第二种页面(可以有很多篇文章)
  3. 修改文章与编辑文章的页面

这样就是一个简易博客的基本需求,然后就可以开始着手几个页面的编写了(前端的html知识可以自行学习,很简单的),在blog文件的同级处新建一个templates文件夹用于保存前端的html页面,由于前端很简陋,也很简单,这里代码就不展示了。

主要是需要注意修改的其他的python文件,这里就说一下Django2.0.6版本与旧版本需要修改的不同的地方 :

首先是根目录下的(不是项目目录)urls.py文件,在新版本的django中,将urls改成了path,为了避免一直往根目录添加path,这里在项目目录新建一个urls.py用于存放path,所以在根目录下需要添加的一项是 :

from django.contrib import admin
from django.urls import path, include
# from blog_web import views

urlpatterns = [
    path('admin/', admin.site.urls),
    # path(r'' , views.index,name = "index")
    #添加项,指向项目目录下的urls.py
    path(r'', include("blog_web.urls", namespace="blog_web"))
]

直接引用项目目录中的urls,后续只需要在项目目录中添加path即可,在根目录中还需要修改的一处文件就是settings.py,首先需要在INSTALLED_APPS中,在最后添加你的项目名称,我测试中用是blog_web:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog_web',
]

然后就是要将网页的地址添加到settings.py中(在DIRS处(如有则无需添加),否则服务器会找不到网页而报错) :

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

这样在根目录下,所需要修改的地方就已经修改完成了。接下来就是项目目录,项目目录就讲一点与旧版本不同的地方,在新版本中,django将urls改成了path,所以在添加路径与正则匹配上出现了变化。项目目录下新建的urls.py与根目录下的形式大致相同,但是为了正则匹配还需要导入re_path,以下是我搭建时的具体代码,可修改为不同的名称:

from django.urls import path, re_path
from . import views

urlpatterns = [
    # path('admin/', admin.site.urls),
    # path(r'' , views.index,name = "index")

    #博客首页访问
    path(r'', views.index),
    #阅读文章时,匹配具体是哪一片文章
    re_path('^article/(?P<article_id>[0-9]+)/$',
            views.article_page, name="article_page"),
    #编辑文章时,匹配具体是哪一片文章
    re_path('^edit/(?P<article_id>[0-9]+)/$',
            views.edit_page, name='edit_page'),
    #按钮的响应
    path(r'edit/action', views.edit_action, name='edit_action'),
]
app_name = "blog_web"

还有需要注意的就是代码编写时的格式问题,格式的要求很严格,上面urls.py的代码除了最后一行外,其他每行后面必须要加上“,”,不然就会报错,而且对缩进的要求很高,不然也会报错,本人就卡在上面卡了一段时间。这大致就是新版本与旧版本之间几处不同的地方,当然这只是一个小小的简陋的博客,也许在完善的时候还有,上述不同只限于这个小博客的搭建。

我自己学习这个django基础的网站是 : https://www.imooc.com/learn/790

根据老师讲的基础,与这篇博客上介绍版本之间的差异,就可以搭建出基于Django2.0.6的简易博客了,下面是我搭建的最终效果(运行的话是在工程文件下,dos中输入python manage.py runserver) :


然后下面是管理界面 :








猜你喜欢

转载自blog.csdn.net/ydydyd00/article/details/80783456
今日推荐