(十一)Django学习——结合前面所学实现一个博客小案例(附有源码

②注册APP

INSTALLED_APPS = [

‘django.contrib.admin’,

‘django.contrib.auth’,

‘django.contrib.contenttypes’,

‘django.contrib.sessions’,

‘django.contrib.messages’,

‘django.contrib.staticfiles’,

‘blog_server’,

]

③配置连接mysql数据库(注意:已经在数据库中新建了名为blog的数据库)

Database

https://docs.djangoproject.com/en/2.1/ref/settings/#databases

DATABASES = {

‘default’: {

‘ENGINE’: ‘django.db.backends.sqlite3’,

‘NAME’: os.path.join(BASE_DIR, ‘db.sqlite3’),

}

‘default’: {

‘ENGINE’: ‘django.db.backends.mysql’, # 数据库引擎

‘NAME’: ‘blog’, # 数据库名称

‘USER’: ‘root’, # 链接数据库的用户名

‘PASSWORD’: ‘qwe123’, # 链接数据库的密码

‘HOST’: ‘127.0.0.1’, # mysql服务器的域名和ip地址

‘PORT’: ‘3306’, # mysql的一个端口号,默认是3306

}

}

④设置时区为咱中国

LANGUAGE_CODE = ‘en-us’

TIME_ZONE = ‘Asia/Shanghai’ #更改

USE_I18N = True

USE_L10N = False #更改

USE_TZ = True

(4)更改项目使用的数据库为Mysql


注意:Django默认使用的不是mysql数据库,所以需要在项目目录下的__init__.py文件中添加以下代码更改项目使用的数据库

import pymysql

pymysql.install_as_MySQLdb()

(5)将项目中的url分配好


在项目目录下的urls.py文件中分配url

from django.contrib import admin

from django.urls import path,include #需导入include

urlpatterns = [

path(‘admin/’, admin.site.urls),

path(‘blog_server/’,include(“blog_server.urls”)), #分配url

]

2.模板文件路径配置

========================================================================

将提供的html页面存放到templates目录的blog目录下

在这里插入图片描述

3.创建BlogModel模型映射表:

=================================================================================

创建模型并映射(执行两个映射命令即可!)到数据库(操作blog_server下的models.py文件)

from django.db import models

Create your models here.

class BlogModel(models.Model):

title = models.CharField(max_length=50)

contest = models.TextField()

在这里插入图片描述在这里插入图片描述

4.博客小案例对应功能实现

===========================================================================

①模板统一继承一个父类base.html:

在这里插入图片描述

②APP中的url路径配置:

在这里插入图片描述

(1)index.html主页实现:


**对于主页,只需要添加url跳转的实现.

**

在这里插入图片描述

在这里插入图片描述

(2)add.html添加博客实现:


/templates/blog_server/add.html,我们需要加上提交的地址,csrf_token标签的作用是防御csrf攻击

在这里插入图片描述

**/blog_server/views.py

render_add视图使用来渲染add.html的页面

add是处理表单提交的数据

**

在这里插入图片描述

(3)list.html列表博客实现:


**通过foo.id,视图处理的时候就能够知道,具体处理的是哪个博客文章对象。

**

在这里插入图片描述

在这里插入图片描述

(4)detail.html详情页的实现:


**detail.html将数据展示

**

在这里插入图片描述

**/blog_server/views.py

从数据库中找到对应的blog对象

通过context将blog传递到模板

**

在这里插入图片描述

(5)delete删除的实现:


**从数据库中将相应的博客文章删除,然后重定向到列表页

**

在这里插入图片描述

(6)修改的实现:


(由于其功能可在add.html模板中实现,所以我们只需对add.html进行一些小改动即可让其也可实现修改的功能!)

在这里插入图片描述

在这里插入图片描述


实现效果:

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值