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
相关文章
|
9月前
|
前端开发 JavaScript Python
【Django】Django4.1.2使用xadmin避坑指南(二)
【Django】Django4.1.2使用xadmin避坑指南(二)
|
1月前
|
缓存 前端开发 Unix
Django简介
Django简介。
17 1
|
9月前
|
数据库 Python
【Django】Django4.1.2使用xadmin避坑指南
【Django】Django4.1.2使用xadmin避坑指南
|
存储 调度 Python
[Django] Django基础环境配置 | 日记
step1 : 设置python 虚拟环境并激活,然后安装Django开发版本 这里可以本人参考博客 step2 : 新建项目 之前安装Django以及虚拟环境都是在C盘下处理的,在这里用D盘存储项目 出现小插曲:
258 0
[Django] Django基础环境配置 | 日记
|
Python Unix 缓存
django简介
讲解对象:django简介作者:融水公子 rsgz 是什么0.1 Web应用框架0.2是一个Python定制框架 命名0.1 以比利时的吉普赛爵士吉他手Django Reinhardt来命名的 发布时间0.
776 0
|
Python 前端开发 数据库
Django 教程
MVC:models.py views.py urls.py books.html # models.py (the database tables) from django.
838 0
|
SQL 前端开发 数据库
Django的一些学习demo说明
Web框架之Django: (1)简介: Django是一个由Python写成开源的重量级Web应用框架,采用MTV的框架模式。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。
2383 0
|
Python 前端开发 Linux
Django学习笔记-Demo
做一个demo 还是在实践中学习吧 一、新建一个项目 django-admin startproject project_name //or django-admin.
1414 0
|
开发工具 数据库 git
|
Web App开发 关系型数据库 MySQL