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 ...
随机推荐
- Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3) D. Barcelonian Distance 几何代数(简单)
题意:给出一条直线 ax +by+c=0 给出两个整点 (x1,y1) (x2,y2) 只有在x,y坐标至少有一个整点的时 以及 给出的直线才有路径(也就是格子坐标图的线上) 问 两个整点所需要 ...
- 常规 nginx 代理apache
nginx: server { server_name www.xx.com xx.com; access_log /data/wwwlogs/www.xx.com_nginx.log combine ...
- ELK日志系统:Elasticsearch+Logstash+Kibana+Filebeat搭建教程
ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 系统架构 安装配置JDK环境 JDK安装(不能安装JRE) JDK下载地址:http://www.orac ...
- crontab计划任务实例
使用实例 实例1:每1分钟执行一次command 命令: * * * * * command 实例2:每小时的第3和第15分钟执行 命令: 3,15 * * * * command 实例3:在上午8点 ...
- CF700E E. Cool Slogans
https://codeforces.com/contest/700/problem/E 题解:https://www.luogu.org/problemnew/solution/CF700E 其实就 ...
- 【学习笔记】TensorFlow
1. tf.Graph().as_default() 的作用 首先看官网上的解释: 再看博主 Joanna-In-Hdu&Hust 对此比较通俗易懂的解释(https://www.cnblog ...
- BZOJ 3000: Big Number (数学)
题目: https://www.lydsy.com/JudgeOnline/problem.php?id=3000 题解: 首先n很大,O(n)跑不过,那么就要用一些高端 而且没听过 的东西——sti ...
- centos下彻底删除mysql的方法
本文记录了CentOS下MySQL的彻底卸载,供大家参考,具体内容如下: 1.查看MySQL是否安装 方式1: [root@localhost usr]# yum list installed mys ...
- Spring ElasticsearchTemplate 经纬度按距离排序
es实体,用 @GeoPointField 注解,值为:中间逗号隔开,如 29.477000,119.278536(经度, 维度) @Document(indexName = "v_inte ...
- robotframework导入测试库使用方法
1.新建一个测试库 course_mgr.py,存在一个函数listCourse 2.新建RF测试用例使用listCourse关键字 导入测试库如下方式 course_mgr若存在上级目录,则需要加上 ...