Django学习笔记(一)

django


最近又开始了django的学习,虽然学了不少,但越学越迷茫耶,可能python基础不是很牢固。回到学校一定好好啃啃书。

本次学习参考了《Django中文教程》

下载地址

《Django 中文教程》


进入正题

1、什么是Django

      一个可以使Web开发工作愉快并且高效的Web开发框架。 使用Django,使你能够以

最小的代价构建和维护高质量的Web应用。

由于先前没有学过任何Web框架,我把django 的理解成一个小型服务器的python web框架。事实证明,学django 前了解一下php之类的服务器语言可能效果更好 :)


2、学习心得

书籍方面,讲的很好很好,但版本原因,本书使用的例子是django 1.1.0版本的,很老的版本,当时的django还不成熟,有些功能在现在最新的版本下一句被去除,所以有些地方不是完全正确的,我也通过一些整理,把学习的心得整理了一下。

①环境搭建:

我使用的是python3,安装django的方法是使用pip

pip install django

使用IPython查看是否安装成功(其他可交互的编译器也ok)

版本为1.11.3的django

然后需要安装数据库,我使用的是mysql,要调用mysql,python3没用了mysqldb,只能使用pymysql,使用pip安装

pip install pymysql


②开始项目

在需要搭建的目录下,运行命令django-admin.py startproject helloworld,会创建一个helloworld目录

这个目录需要做一些配置才能让django更好的工作

1、django的数据库配置

进入settings.py

DATABASES={

'default':{

'ENGINE':'django.db.backends.mysql', #调用mysql

'NAME':'test',                                          #数据库名

'USER':'root',                                          #用户名

'PASSWORD':'root',                                #密码

'HOST':'',                                                 #默认localhost

}

}

然后,在__init__.py里配置mysql

import pymysql

pymysql.install_as_MySQLdb()

这样就把数据库的准备工作完成了

2、现在可以运行django了,命令行进入到有manage.py的文件夹,使用命令

python manage.py runserver

即后,便可以在http://127.0.0.1:8000/下访问django了

但这个8000是默认的,可以在runserver后输入端口号。


Django学习笔记(一)_第1张图片

当以上的页面显示的时候说明已经成功把django配置好了!

3、开始最经典的helloworld

django是MVC模型,M是模型model,V是视图view,C是控制器controller。

在这些自动生成的文件里,并没有这三个文件(模块),那就自己创建一个吧!

①在工程里新建一个叫views.py的文件(当然不一定得是这个名字,但能直观地看出来是视图模块)

在里面输入

from django.http import HttpResponse

def Hello_World(request):

        return HttpResponse("Hello,World!")

这里是从django.http包里导出HttpResponse对象,该对象会针对客户端的请求(request)发送响应(response)。这里响应了Hello,World字符串,也可以响应html文件。

注:每个视图函数至少要有一个参数,通常被叫作request。这是一个触发这个视图、包含当前Web请求信息的

对象,是类django.http.HttpRequest的一个实例。在这个示例中,我们虽然不用request做任何事情,然

而它仍必须是这个视图的第一个参数。

②找到urls.py文件,到入刚刚的views文件,并添加url对象

from views import Hello_World

urlpatterns=[

      url(r'^admin/',admin.site.urls),

      url(r'^hello/$',Hello_World),

]

第一行和第四行是添加的内容,需要注意的是

1、Hello_World函数并不打上()括号,因为它传递的是这个函数的指针

2、r'^hello/$' 其实是正则表达式,^h是必须以h为开头,/$则是以/为结尾,如果只输入hello的话,可能输入no_hello也会被匹配进去,hello_yo也会被包含进去,通过正则表达式可以很好的配置地址。(另:django会自发的在地址后面增加/)


这时候进入http://127.0.0.1:8000/hello/

就会看到Hello,World!

其实还可以输入html格式的字符串给HttpResponse对象。例如

Hello,World!

就会输出红色的标题HelloWorld


这就是简单的一个应用了(虽然low到不行),但既然可以传递html文件,那就可以通过前端搭建的网页来润色整个django了!


4、自身的不足的总结

不得不说,基础很重要啊,而且学习资料的版本也很重要啊!

①正则表达式的合理使用会减轻很多工作,所以有必要对正则表达式来一次全方位无死角的学习。虽然之前学过一些,但效率极低……

②数据库的深入学习也是有必要的,可以更好地对服务器的数据与客户端(前端)进行交互。当初学javascript的ajax没有个后端真是头大啊。现在django可以更好地辅助学习了

③对python自身的官方库可以说是零基础了,沉迷于各种第三方的库,导致os各种操作的库没有好好学习过,更别谈什么应用在实际项目中了……


呼~时间真快,学习的旅途还很遥远,希望真正地能将学习到的东西运用到生活中,更希望在学习中能磨砺自己。干巴爹~  ~(一∨一)~

你可能感兴趣的:(Django学习笔记(一))