基于Django的Blog(四)编写Views

1.Hello World!

1.1 处理请求返回Hello World

article/views.py

from django.shortcuts import render

# 导入 HTTPResponse 模块
from django.http import HttpResponse

# 视图函数
def article_list(request):
    return HttpResponse("Hello World!")

网页都是由视图派生而来.每一个视图表现为简单的python函数,它必须要做的只有两件事情,返回一个包含被请求页面内容的HttpResponse对象,或者抛出一个异常,比如Htto404

视图函数中的request与网页发来的请求有关,里面包含getpost的内容、用户浏览器、系统等信息。Django调用article_list函数时会返回一个含字符串的 HttpResponse对象。

有了视图函数,还需要配置URLconfs,将用户请求的URL链接关联起来。换句话说,URLconfs的作用是将URL映射到视图中。

在前面的文章中已经将URL分发给了article应用,因此这里只需要修改之前添加的article/urls.py就可以。添加以下代码:

1.2 映射url到视图中

也就是把url和方法结合

article/urls.py

# 引入path
from django.urls import path
# 引入 views.py
from . import views


# 正在部署的应用名称
app_name = 'article'

urlpatterns = [
    # path函数将url映射到视图
    path('article-list/', views.article_list, name='article_list'),
]

Django 将会根据用户请求的 URL 来选择使用哪个视图。本例中当用户请求article/article-list链接时,会调用views.py中的article_list函数,并返回渲染后的对象。参数name用于反查url地址,相当于给url起了个名字,以后会用到。

1.3 测试url地址

cd my_blog 
(venv) E:\project\DjangoProject\dj_blog\my_blog>
python manage.py runserver

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
June 04, 2020 - 11:39:52
Django version 2.2, using settings 'my_blog.settings'
Starting development server at http://127.0.0.1:8000/

打开对应地址 输入urlhttp://127.0.0.1:8000/article/article-list/

其实127.0.0.1:8000是调式服务器的本地地址,article是my_blog/urls.py 分发的地址,article-list是article/urls.py分配的地址

image-20200604125629264

2.创建管理员账号(Superuser)

管理员可以进入网站后台,对数据进行维护的账号,具有很高的权限

虚拟环境中输入python manage.py createsuperuser指令,创建管理员账号:

(venv) E:\project\DjangoProject\dj_blog\my_blog>python manage.py createsuperuser
Username (leave blank to use 'sala'): sunnywillow
Email address: joseph3588.me@gmail.com
Password:
Password (again):
Superuser created successfully.

2.1 将ArticlePost注册到后台

接下来我们需要告诉Django,后台中需要ArticlePost这个数据表供管理

from django.contrib import admin

# 导入ArticlePost
from .models import ArticlePost

# 注册ArticlePost到 admin中
admin.site.register(ArticlePost)

这样就简单的注册好了

2.2 在后台中遨游

其实在项目生成的时候你会发现有个多出来的admin,这就是自动配置好了的setting和url

输入url/admin 填用户名和密码点击进入 并发表posts

image-20200604131222331

posted on 2020-07-05 20:51  sunnywillow  阅读(55)  评论(0)    收藏  举报