Django:快速搭建简单的Blog

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

一,创建项目

我这里是基于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/

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
弹性计算 安全 JavaScript
零基础部署一个Django Blog到Serverless架构
本场景介绍如何将Django Blog项目部署到函数计算平台
293 0
|
存储 SQL 前端开发
Django Blog | 10 自定义Form,美化页面并实现文章编辑功能
Django Blog | 10 自定义Form,美化页面并实现文章编辑功能
378 0
Django Blog | 10 自定义Form,美化页面并实现文章编辑功能
|
SQL 前端开发 JavaScript
Django Blog | 09 这么简单!实现博客markdown输入和显示
Django Blog | 09 这么简单!实现博客markdown输入和显示
461 0
Django Blog | 09 这么简单!实现博客markdown输入和显示
|
开发工具 数据库 git
|
数据库 数据安全/隐私保护 Python
|
前端开发 JavaScript Python
|
前端开发 关系型数据库 数据库
Django架设blog步骤(转)
最近在研究Python,起初是因为想做个爬虫,昨天看了点基础教程,台湾辅仁大学的视频,了解了python的语法规范及语言特性,主要有三: 1.动态脚本语言; 2.语法简洁,强制缩进; 3.应用广泛,web、系统管理、脚本、科学计算等等,第三方应用多;   下面开始正文,Django是Python时间中数一数二的web框架,由3个小伙创建,名字来源于一个吉他手(看3人的照片,叛逆青年类型,取这个名也就不奇怪了)。
1232 0
|
Python 前端开发
django开发Blog(4)
改变外观 (一)新增templates目录 加入两个模版文件   (1)base.html文件     body {color: #efd; background: #435; padding: 0 5em;margin: 0}    h1 {padding: 2em 1em; backgr...
548 0
|
关系型数据库 数据库 Python
django开发Blog(1)
(一)创建项目 django-admin.py startproject mysite 运行这个命令时,需要django-admin.py在PATH环境变量中 我的django-admin.py在 Django目录\Django-1.
783 0