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 ...
随机推荐
- Linux keepalived+lvs实现高可用负载均衡
LVS的具有强大的负载均衡功能,但是它缺少对负载层节点(DS)的健康状态检测功能,也不能对后端服务(RS)进行健康状态检测:keepalived是专门用来监控高可用集群架构的中各服务的节点状态,如果某 ...
- IOC的理解(转载)
转载自:https://www.zhihu.com/question/23277575/answer/169698662 要了解控制反转( Inversion of Control ), 我觉得有必要 ...
- GWAS: 阿尔兹海默症和代谢指标在大规模全基因组数据的遗传共享研究
今天要讲的一篇是发表于 Hum Genet 的 "Shared genetic architecture between metabolic traits and Alzheimer's d ...
- 在php中实现Redis的订阅与发布
<?php //require_once dirname(__FILE__).'/class/RedisClass.class.php'; function init_redis(){ $red ...
- 编写高质量的Python代码系列(八)之部署
Python提供了一些工具,使我们可以把软件部署到不同的环境中.它也提供了一些模块,令开发者可以把程序编写的更加健壮.本章讲解如何使用Python调试.优化并测试程序,以提升其质量与性能. 第五十四条 ...
- DirectX11 With Windows SDK--27 计算着色器:双调排序
前言 上一章我们用一个比较简单的例子来尝试使用计算着色器,但是在看这一章内容之前,你还需要了解下面的内容: 章节 26 计算着色器:入门 深入理解与使用缓冲区资源(结构化缓冲区/有类型缓冲区) Vis ...
- centos6 升级pip后导致pip不可用
问题:公司内部一台服务器在用pip安装python某个模块的时候提示pip需要升级,然后我就手贱升级了一下,结果悲催了,再次执行pip命令时报错如下: Google了下错误,说是: CENTOS/RH ...
- docker学习------swarm集群虚机异常关机,node状态为down
1.因昨天虚机异常关闭,导致今天上去查看时,node节点状态显示为down 2.查了些相关资料,找到处理办法(因我的节点没有任何数据,所以直接对其进行清除) docker swarm leave -- ...
- MySQL学习12 - pymysql模块的使用
一.pymysql的下载和使用 1.pymysql模块的下载 2.pymysql的使用 二.execute()之sql注入 三.增.删.改:conn.commit() 四.查:fetchone.fet ...
- Groovy中的GString
在讨论GString之前,我们先讨论一下Groovy里面的String.在Groovy里面String有 println 'test string' println '''test string''' ...