Django:快速搭建简单的Blog

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

一,创建项目

我这里是基于python虚拟环境下做的开发,

先进入虚拟环境

workon py3_django

1, 为blog创建名为mysite的工程项目

django-admin.py startproject mysite


2.创建app应用

cd到项目文件夹 cd mysite

python manage.py startapp blog


3.创建mysql数据库

mysql进到mysql数据库服务器里,创建my_blog数据库


4.创建static templates等目录


5.配置settings.py文件

数据库的配置

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'HOST':'localhost',

        'NAME': 'my_blog',

        'PORT':3306,

        'USER':'root',

        'PASSWORD':'123456',


templates模板配置

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',

 ],

},

    },

]



static静态文件的配置

STATIC_URL = '/static/'


STATICFILES_DIRS = [

os.path.join(BASE_DIR,'static')

]



配置admin管理后台的中文显示的配置

LANGUAGE_CODE = 'zh-Hans'


注册应用的配置

INSTALLED_APPS = (

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'blog',

)


6.设计模型层

在blog目录下的models.py是blog应用的核心文件之一,是定义blog数据结构的地方。

用编辑器打开models.py

新添加BlogPost类,代码如下:

from django.db import models


# Create your models here.

class BlogPost(models.Model):

    title = models.CharField(max_length=30,verbose_name='标题')

    content = models.TextField()

    pub_time = models.DateTimeField()

    class Meta:

        ordering = ('-pub_time',)


添加后台管理的显示部分配置admin.py文件

from django.contrib import admin

# from django.db import models

from .models import *



class BlogPostamdin(admin.ModelAdmin):

    list_display = ['title','pub_time']


admin.site.register(BlogPost,BlogPostamdin)


7,迁移数据库

生成迁移文件

  python manage.py makemigrations

执行迁移

  python manage.py migrate

以为执行完之后,在mysql数据库里会生成一张表blogpost


8.配置views视图函数和模板文件

views.py视图函数配置

from django.shortcuts import render

from .models import *


def blog(request):

    allpost = BlogPost.objects.all()

    return  render(request, 'blog/archive.html', locals())


父模板文件base.html编写

<html>

  <style type="text/css">

    body{color:#efd;background:#453;padding:0 5em;margin:0}

    h1{padding:2em 1em;background:#675}

    h2{color:#bf8;border-top:1px dotted #fff;margin-top:2em}

    p{margin:1em 0}

  </style>


  <body>

    <h1>my blog</h1>

    {% block content %}

    {% endblock %}

  </body>

</html>


archive.html文件继承于父模板base.html文件,内容如下:

{% extends 'base.html' %}

{% block content %}

{% for post in allpost  %}


    <h2> ` post`.`title `</h2>

    <p>{{ post.pub_time |date:"F jS" }}</p>

    <p>` post`.`content `</p>


{% endfor %}

{%  endblock content %}


最后配置urls.py

先配置总的urls.py在配置二级urls

from django.conf.urls import include, url

from django.contrib import admin

from blog import urls


urlpatterns = [

    url(r'^admin/', include(admin.site.urls)),

    url(r'^blog/', include('blog.urls')),

]


在blog目录下配置urls.py(需要自己新建urls.py文件)

from django.conf.urls import  url

from .views import *


urlpatterns = [

  url(r'^$',blog),

]


最后在管理后台添加文章

启动django服务:

python manage.py runserver 0.0.0.0:9099


访问blog:

http://192.168.52.129:9099/blog/

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
前端开发 JavaScript Python
【Django】Django4.1.2使用xadmin避坑指南(二)
【Django】Django4.1.2使用xadmin避坑指南(二)
|
数据库 Python
【Django】Django4.1.2使用xadmin避坑指南
【Django】Django4.1.2使用xadmin避坑指南
|
数据安全/隐私保护 Python
【Django学习笔记 - 14】:admin站点的基本使用
【Django学习笔记 - 14】:admin站点的基本使用
123 0
【Django学习笔记 - 14】:admin站点的基本使用
|
存储 调度 Python
[Django] Django基础环境配置 | 日记
step1 : 设置python 虚拟环境并激活,然后安装Django开发版本 这里可以本人参考博客 step2 : 新建项目 之前安装Django以及虚拟环境都是在C盘下处理的,在这里用D盘存储项目 出现小插曲:
302 0
[Django] Django基础环境配置 | 日记
|
Linux Python 容器
Django实战(一)之简单Demo
菜鸟教程上Django安装可供参考: 参考链接: http://www.runoob.com/django/django-install.html   菜鸟教程上如果不行的话,下面博客网址可以供参考 Linux安装Python2.
1861 0
|
SQL 前端开发 数据库
Django的一些学习demo说明
Web框架之Django: (1)简介: Django是一个由Python写成开源的重量级Web应用框架,采用MTV的框架模式。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。
2405 0
|
Python 前端开发 Linux
Django学习笔记-Demo
做一个demo 还是在实践中学习吧 一、新建一个项目 django-admin startproject project_name //or django-admin.
1443 0
|
开发工具 数据库 git
|
Web App开发 关系型数据库 MySQL