Django基础篇(2)--视图

清安无别事 2021-10-28 16:18:10
django CSDN 基础 视图 技术开发

        这里是清安,V:qing_an_an,欢迎一起交流,内设小群一个。博主也是新人一个,所以Django篇,其实也是自己做笔记,复习的一个过程。

        本篇带你先了解一下文件中的py文件都有什么用处!

        Django 采⽤了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template):

                M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进⾏数据处理。

                V全拼为View,与MVC中的C功能相同,接收请求,进⾏业务处理,返回应答。

                T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

        了解完这些,我看直接进入正题看看怎么会是吧。

        在此之前呢,先启动一下数据库:

         如上图所示,qingan文件下还有一个qingan文件,这里干什么用呢:

qingan:只是你项⽬的容器, ⽬录名称对 Django 没有影响,你可 以将它重命名为任何你喜欢的名称。
qingan:⼀个 Python 包。它的名字就是当你引⽤它内部 任何东⻄时需要⽤到的 Python 包名。
__init__.py:⼀个空⽂件,告诉 Python 这个⽬录应该被认为是⼀ 个 Python 包。⽤于申明。
asgi.py:作为你的项⽬的运⾏在 ASGI 兼容的 Web 服务器上的⼊ ⼝。使⽤ ASGI 来部署的时候使⽤。
settings.py:Django 项⽬的配置⽂件。
urls.py:Django 项⽬的 URL 声明,就像你⽹站的“⽬录”。
wsgi.py:作为你的项⽬的运⾏在 WSGI 兼容的Web服务器上的⼊⼝。 使⽤使⽤ WSGI 进⾏部署的时候使⽤。
manage.py:⼀个让你⽤各种⽅式管理 Django 项⽬的命令⾏⼯具。

        那么创建应用里面的文件有些什么呢?

testqing:⼀个 Python 包。它的名字就是当你引⽤它内部任何东⻄时需要⽤到的 Python 包名。
migrations:⼀个 Python 包。它的名字就是当你引⽤它内部
任何东⻄时需要⽤到的 Python 包名。
migrations中的__init__.py <file>:⼀个空⽂件,告诉 Python 这个⽬录应该被认为是⼀
个 Python 包。⽤于申明。
__init__.py <file>:⼀个空⽂件,告诉 Python 这个⽬录应该被认为是⼀个
Python 包。⽤于申明。
- admin.py <file>:⾃定义 Django 管理⼯具。
- apps.py <file>:Django 应⽤的配置⽂件。
- models.py <file>:模型管理⽂件
- tests.py <file>:测试⽂件
- views.py <file>:视图管理⽂件

注册应用

        这里为什么要注册,不注册就相当于你是一个黑户,虽然看着没什么事情,但是很多地方收限制。

        找到qingan中的setting.py文件,将应用名字添加进去:

INSTALLED_APPS = [
'testqing',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

        此处只添加一个应用名字,testqing,其他的不变,别搞混了。这里有一个关系需要注意一下:⼀个项⽬可以包含多个应⽤程 序。⼀个应⽤程序可以在多个项⽬中。

构建应用视图

        打开应用中的views.py文件,也就是testqing/views.py。

from django.http import HttpResponse
def html_index(request):
return render(request, "hello.html")
def index(request):
return render(request, "hello1.html")
def hello_word(request):
return HttpResponse('Hello world')

        写入三条数据。缺包的记得导入包。这里最简单的视图构建完了。

        我们接下来打开qingan/urls.py文件。写入数据:

from testqing.views import index
from testqing.views import hello_word
from testqing.views import html_index
urlpatterns += [
path("index/",index),
path("hello/",hello_word),
path("qingqing/",html_index)
]

        这里就是路由文件了。为项目添加一个可以访问的地址:index/;并返回某个视图的内容。

        注意:此处会有红线提示路径错误,这里可以不用管,解决该问题很简单,退出pycharm找到你的文件地址,直接打开qingan文件而不是EVN_Django文件。

        什么是路由:路由就是URL到函数的映射。当你访问qingqing/时,浏览器中就会 显示上述hello_word函数方法中的Hello world内容。

        这里我们还创建了两个HTML文件。记住了:testqing/templates,这个文件名称是固定的,不可变的。

# hello代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Hello world</h1>>
</body>
</html>
# hello1代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Hello world</h1>>
<a href="http://localhost:8000/hello">click</a>
</body>
</html>

        这里注意的是别把我的注释带到HTML文件中去了,这里做的是有hello1文件跳转到hello文件的一个小测试功能。

        接下来就是运行,看结果的时候了:运行代码步骤:

# 创建文件
django-admin startproject qingan
# 初始化数据库
manage.py migrate/python manage.py migrate
# 创建应用
manage.py startapp testapp/python manage.py startapp testapp
# 注册应用文中有讲
# 写视图、写路由文件
# 运行代码
manage.py runserver/python manage.py runserver
# 打开网址http://127.0.0.1:8080
# 打开网址后接路由文件中的路径如:http://127.0.0.1:8080/qingqing

        在这里你会看到默认访问的可能是一个超级管理员登录界面,所以加路径就是了,加了就能看到效果了。这里就不展示效果图了。各位自行操作,不懂的可以扣我:qing_an_an。

版权声明
本文为[清安无别事]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_52040868/article/details/120958239

  1. 你只认识大众汽车的车标怎么能行?赶紧用python采集所有车标学习一下
  2. python回文词如何以文件形式解决python问题
  3. 工作排程中Bat调用Python 程式无发打开(一闪而过)?
  4. python题目不会写求朋友们帮帮忙
  5. pythonwx内进行for循环导致窗体未响应
  6. Python自动化测试框架,谁才是你的唯一?
  7. 如何删除anaconda文件夹里的python.exe
  8. python爬取数据报错求解决一下
  9. Python编写程序求复利率,复利计算公式为
  10. 每周最怕编程课,懂python的朋友看看我吧
  11. 使用python批量将csv文件转为txt文件
  12. 用python写程序!!救命!!
  13. Python编写程序,输入年龄和出生年份,输入姓名和年龄
  14. Python爬虫,关于Xpath定位与预期不符
  15. python 批量计算的数据 print()到console的数据如何全部保存到指定路径文档,目前只能保存最后一个文件的
  16. 安装Python时出现错误:显示发现windows7 怎么弄
  17. 关于python中的PiP升级,尝试过很多遍了还是这个问题
  18. 这个怎么整啊,刚接触python
  19. 用python做图形旋转,opencv如何自动旋转图片到正常的水平位置
  20. Python零基础入门:字符串使用详解(常用方法及使用案例)
  21. Python Qt GUI设计:QPrinter打印图片类(基础篇—21)
  22. python中一维数组怎么转置
  23. 遇到一个问题,关于Python的复数的
  24. python批量将文件夹里的csv文件转成txt文件
  25. Python 彻底搞懂列表推导式|初级到进阶(实例30+)
  26. python爬虫,遇到urllib.error.URLError: &lt;urlopen error [Errno 11001] getaddrinfo failed&gt;错误
  27. Python程序设计输入五到十之间的整数n,生成并输出一个n位的验证码,不能把大小写字母和数字全写出来
  28. python程序打包之后没运行tkinter
  29. python提取多个Excel文件内目的格内容按一定格式写入新的Excel。
  30. pandas读取csv文件文件末尾都是NaN值,发生了什么?
  31. Python使用matplotlib可视化自定义背景色实战:自定义可视化图像的背景色(Background Color)
  32. 大学生Python实验的列表与元组
  33. python 关于线程的参数args的问题
  34. 如何用python将pdf转成网页html的格式
  35. python基础题 运行后卡在某一步 随后电脑疯狂运转发声 等待无果
  36. 求大神教怎么用python写字
  37. 云计算开发:Python3-expandtabs()方法详解
  38. 9000字深度整理: 全网最详细 Pandas 合并数据集操作总结!
  39. python这个代码有错误,请帮我修改
  40. python redis自带门神 lock 方法
  41. 有关python求众数,中位数和均值的题目
  42. 零基础5天入门Python数据分析:第四课
  43. 零基础5天入门Python数据分析:第三课(上)
  44. 零基础5天入门Python数据分析:第一课
  45. python redis自带门神 lock 方法
  46. 【算法学习】LCP 01. 猜数字(java / c / c++ / python / go)
  47. 【Python量化分析100例】Day2-星期几最容易被割韭菜
  48. python逆推年份,前两问写好了,第三问不会
  49. Python 爬取百度网页如何绕过安全验证
  50. 零基础5天入门Python数据分析:第五课
  51. Python人脸融合时出现关于pybind11的问题
  52. python如何返回除数,公约数,倍数
  53. python 返回多重嵌套列表(多于两层嵌套)的元素
  54. 用Python采集了几千条相亲文案,终于发现了告别单身的秘密
  55. python正负序列题,目前只学到循环,怎么做啊(*꒦ິ⌓꒦ີ)
  56. 拿爱奇艺练手Python爬虫,是在法律边缘试探吗?爬虫技巧学习
  57. Python注释删除代码依然报错
  58. python的pyautogui模块中的pyautogui.scroll()括号中无论写什么值滚动范围都相同
  59. 为什么python在vscode里运行报语法错误,在IDLE里就不会
  60. 请问python如何在将pdf转成word时,去除pdf上的页眉页脚(或者对于每页pdf只取第2行-倒数第二行)