Django学习(一)
Django 是python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站。(emmmm,百度百科)。本学期需要做python数据的可视化,之前搞过两次SMM和SSH,但是之后java基本处于弃用的状态,python越来越流行,所以整个python框架下的网页开发也是有必要的。在此感谢“自强学堂”的django教程,(链接: https://pan.baidu.com/s/1rap4t20 密码: uta2),简单易懂,是和新手入门。
一、安装与搭建
已安装python3.5和pycharm,直接在命令行pip install django,然后“Successfully installed Django-2.1.7”。
File-new project-Django新建一个空项目。
在命令行内运行“python manage.py startapp django_web”建立网站。在setting.py中的INSTALLED_APP内加入‘django_web’,这样jango的网站就能识别了。逻辑顺序是:request获取到url->url找到对应的view->view从model和templates找到想要的数据和网页。
首先先在templates里新建一个index.html文件,就简单输一个hello world就行。第二部,在views.py中新建函数如下,render函数的作用就是根据request返回html页面。也即是说,view层需要做的是返回页面。
接下来为写好的页面分配网址。
运行之后报错,错误类型是UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7,经过百度搜索,找到了解决方法:https://ask.csdn.net/questions/724167 在小娜里面搜索地区。然后更改国家或地区---管理语言设置---在弹出的地域里面点击‘更改系统区域设置’---把‘BETA版:使用utf-8’那个选上,重启。
接下来说一下django.urls path 与django.conf.urls url的区别:
path调用的是python第三方模块或框架,而url则是自定义的模块。如Views下的def函数对应你url中的参数值.
例如:
url(r'^login',views.login),
url('login',views.login),
def login(request):
return render(request,'login.html')
1.x版本用url,2.x版本用path
写法上的区别如下:url(r'^index/$',views.index), path('index/',views.index),url需要用的正则表达式,而path不需要。url等同于re_path。
因为我是django2的版本,而所看教程是1的版本,我上来直接用的是url方法,后运行404,无头绪,以为2.n版本不兼容url方法,所以又试了path,总结发现必须按照各个方法的书写规范来编写,否则很可能出问题。
在之后,Exception Type: TemplateDoesNotExist,又继续百度,https://blog.csdn.net/xujin0/article/details/83339303,这里给了解决方案,在TEMPLATES中DIRS:里输入这个:os.path.join(BASE_DIR,'templates')。原因好像是pycharm见项目的时候这个给置成空了,在这里加载上路径就能顺利运行了。
抛出TemplateDoesNotExist的异常时解决方法
首先先查看render()中的文件名输入是否正确。
然后查看是否将模板文件(.html 文件)写入了templates中,查看templates文件名是否正确,必须为templates ,
查看’DIRS’中是否添加了路径。
如果是app中的templates,就去INSTALLED_APPS查看是否安装了app。
最后,hello world!
Django学习(一)的更多相关文章
- 今天主要推荐一下django学习的网址!
前言:每个月忙碌的头20天后,在上班时间投入到django理论学习的过程中,花了差不多3天时间简单的研究了一下django,着实废了我不少脑细胞. 采用虫师前辈的一张图和话: 如果你把这过程梳理清晰了 ...
- Django 学习笔记之四 QuerySet常用方法
QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...
- Django 学习笔记之三 数据库输入数据
假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...
- Django学习系列之Form基础
Django学习系列之Form基础 2015-05-15 07:14:57 标签:form django 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追 ...
- Django学习笔记(五)—— 表单
疯狂的暑假学习之 Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path ...
- Django学习笔记(三)—— 型号 model
疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...
- django学习之Model(二)
继续(一)的内容: 1-跨文件的Models 在文件头部import进来,然后用ForeignKey关联上: from django.db import models from geography.m ...
- Python框架之Django学习
当前标签: Django Python框架之Django学习笔记(十四) 尛鱼 2014-10-12 13:55 阅读:173 评论:0 Python框架之Django学习笔记(十三) 尛 ...
- Django 学习笔记(二)
Django 第一个 Hello World 项目 经过上一篇的安装,我们已经拥有了Django 框架 1.选择项目默认存放的地址 默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创 ...
- Django 学习笔记(五)模板标签
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...
随机推荐
- code runner 使用教程
https://zhuanlan.zhihu.com/p/54861567 其中解决无法在编辑器中编辑问题(编辑器只读) 只需要把Code-runner: Run In Terminal true(打 ...
- 如何关闭WIN7自动配置 IPV4 地址 169.254
如何关闭WIN7自动配置 IPV4 地址 169.254 以管理员身份运行cmd.exe 输入:netsh winsock reset catalog 回车 输入:netsh int ip reset ...
- v-for 在 VSCode 中出现 Elements in iteration expect to have 'v-bind:key' directives.
在 VSCode 中编辑代码时,在有 v-for 的语句下面有一条红色波浪线,鼠标放上去有提示 Elements in iteration expect to have 'v-bind:key' di ...
- 公共DNS推荐及dns测速
DNS在平时上网中扮演重要角色,如果不注意DNS的话,可能会导致网速慢.弹窗广告.网址打不开.打开不是自己想要的网站.劫持等一系列问题.针对DNS的问题,今天我们就来总结一下,看看哪个DNS服务器最好 ...
- 服务器代理+jQuery.ajax实现图片瀑布流
服务器代理机制破解浏览器的同源策略 瀑布流功能实现分析 具体实现代码及业务实现分析 一.服务器代理机制破解浏览器同源策略 由于浏览器的同源策略无法请求不同域名下的资源,但是服务器的后台程序并不受同源策 ...
- ACM-ICPC 2018 沈阳赛区网络预赛 G Spare Tire(容斥)
https://nanti.jisuanke.com/t/31448 题意 已知a序列,给你一个n和m求小于n与m互质的数作为a序列的下标的和 分析 打表发现ai=i*(i+1). 易得前n项和为 S ...
- 基于IPV6的数据包分析(GNS3)
1.拓扑图 2.配置ipv6地址.使路由器之间可互ping,用ospf配置.(R5为例) 查看路由表 试R5 ping 到R4 R4 ping到 R1 3.开始抓包分析 128返回请求(Echo Re ...
- [译]ASP.NET Core揭秘 - Razor Pages
原文 什么是Razor Pages? Razor pages是ASP.NET Core 2.0的新特性,它被设计用来更快的开发页面,比传统的MVC模式更便捷. 创建项目 为了使用Razor Pages ...
- Linux/Window之定时任务脚本编写
Windows(Win 10) compmgmt.msc[Win+R] > 任务计划程序 > 任务计划程序库 > 创建基本任务 Linux(Ubuntu) 定时任务种类 实现linu ...
- mysql5.x安装脚本
直接贴出来: #!/bin/bash #linux安装mysql服务分两种安装方法: #①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: #②使 ...