慕课网-Django入门到进阶-更适合Python小白的系统课程-第2章Django中的路由与视图-2.6项目练习-Django的View、路由参数实践
第2章 Django中的路由与视图
2.6 项目练习-Django的View、路由参数实践
课程练习项目——消息发布与获取
项目介绍
1.该项目是一个简单的消息发布和获取练习
2.该项目围绕 Django2 的基础课程,每个章节会根据当前章节内容应用到项目中
3.本项目以练习 Django 基础为主,并不涉及太多复杂操作,如消息订阅与发布,socket 长链接等,但在开发的过程中会提及,使新学员在概念上有所启蒙
4.本项目是在整个课程录制完成之后录制,会对于课程讲解过程中,自己感觉不是很到位,或没有讲到的本该是比较基础的地方,或是我自身在工作上遇到的一些坑而课程没有讲到的,加以补充,并且在开发的过程中,我将不提前备课,遇到错误不截屏(除非很没意义的部分),这样可以让大家基于我的出错如何解决进行一个参考
新建项目
#进入虚拟环境 cd python3_env cd Scripts activate #新建项目 cd django django-admin startproject message_test #新建应用 cd message_test python manage.py startapp app
修改文件
1.进入项目下目录 message_test,修改文件 settings.py,修改编码、时区和注册应用
#注册应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app',
]
#修改编码
LANGUAGE_CODE = 'zh-hans'
#修改时区
TIME_ZONE = 'asia/Shanghai'
2.进入项目下目录 app,添加文件 urls.py,添加应用的路由
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django.urls import path
from .views import LessionTwo
urlpatterns = [
path('two', LessionTwo.as_view(), name='two')
]
3.进入项目下目录 app,修改文件 views.py,添加一个 LessionTwo 类
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django.views.generic import View
from django.http import HttpResponse
class LessionTwo(View):
def get(self, request):
message = request.GET.get('message', '这里没有内容')
return HttpResponse(message)
4.进入项目下目录 message_test,修改文件 urls.py,添加 app 应用的路由
from django.contrib import admin
from django.urls import path, include
from app import urls as app_urls
urlpatterns = [
path('admin/', admin.site.urls),
path('', include(app_urls))
]
5.运行代码

6.进入项目下目录 app,修改文件 urls.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django.urls import path
from .views import LessionTwo
urlpatterns = [
path('two/<str:message>', LessionTwo.as_view(), name='two')
]
7.进入项目下目录 message_test,修改文件 views.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django.views.generic import View
from django.http import HttpResponse
class LessionTwo(View):
def get(self, request, message):
# message = request.GET.get('message', '这里没有内容')
return HttpResponse(message)
8.Python3 编码问题:UnicodeEncodeError,如何解决
ipython import sys #查看编码方式 sys.stdout.encoding #解决方式,启动服务时输入 PYTHONIOENCODING=utf-8 python manage.py runserver
posted on 2020-01-14 05:17 herisson_pan 阅读(6) 评论(0) 收藏 举报
浙公网安备 33010602011771号