DjangoTrails04博客建立

url的能力,新的视图创建

1. 创建视图

针对blog业务,可以分为两个主要页面,一个是blog_list页面,展示所有的blog信息。另一个是blog_detail页面,展示当前blog的详情页面。

from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. This is william blog")


def blog_single(request, question_id):
    return HttpResponse("Blog single")

2. 添加url,绑定视图

其中<int:question_id>/ 用于配置int型参数的绑定。在View中使用参数question_id参数进行整体绑定。

创建真实View,和模型进行绑定

真实的View,从model模型类获取相应的模型数据,将模型数据按照publish_time的逆序进行排列。最后统一的保存并写入到前端去。

python manage.py runserver来启动web 服务

最后通过页面访问 http://127.0.0.1:8000/blog/

整理真实HTML视图

上面的方式只适合于写一个简单的页面,是直接返回相关的内容到页面。如果要做复杂的页面,需要导入相关的内容(HTML)、样式(CSS)、事件和动作(js)到相应的页面。然后再通过和后端合作,将数据库中的内容写入到前端形成动态网站。

在django中使用Template和static来整理所有的页面相关内容。

html原始文件下载链接

下载的文件目录如下,实际上大多数的web相关内容也都会整理成这样的文档结构。其中HTML对应页面相关内容,下面的四个文件夹一般对应网站的静态文件内容。所以我们可以将html文件对应到Template中,将其他四个文件夹内容对应到static内容。

1. 创建static文件

在blog app文件夹下创建static文件夹,再在static文件夹下创建blog文件夹。这里使用blog命名实际上是需要和blog app 的文件夹同名(后面会具体讲述原因)。最后我们将所有的静态四个文件夹拷入目录即可。

-w173

2. 创建template

在blog下创建Template文件夹,同样在Template文件夹下创建blog文件夹。和static一样这里使用blog命名是需要和blog app的文件夹同名。 最后我们将html文件拷入。

-w214

3. 修改View测试

完成之后修改View做一下测试。

blog/view.py

测试

完成后使用python manage.py runserver进行测试

访问http://127.0.0.1:8000/blog/

可以看到HTML访问页面出来了。但是是一个只有HTML没有样式的页面。接下来我们修改样式文件的引入。

4. 修改static文件引入

使用了Django的Template模型之后,对于静态文件的引入不能在使用HTML的文件引入方式,需要遵循django的设计方式。这里通过修改Template下的HTML文件修改。

修改blog_image_rs.html文件 最上面添加`

`

下面对于引入的静态文件进行修改

css文件修改这里

js文件修改

修改完之后在python manage.py runserver运行一下可以看到相应的样式已经找到

5. 修改将后台数据写入Template

首先找到html中的生成blog的部分。

-w500

从页面可以看到每个ed_blog_item 指定了一个blog列表项。这里就是我们要的内容

在Template中修改,获取后端所有数据

修改这一段,再讲其他的静态数据删掉。 完成之后在运行一下看看效果 后台添加几篇文章试试看

改改detail详情页试试看

修改 view

修改url

修改HTML Template static

修改html

Last updated

Was this helpful?