Django架构编写个人博客(一)基本的访问与返回页面
寒假自学了Python(3.6.4) 和Django(1.11.9)架构,并编写了一个小的个人博客,现在把心得和过程记录下来。
初识Django,感觉就是他给你提供了一系列的零件,车轮、螺丝、等等,然后你把这些东西给拼成你喜欢的车。
下面把自己编写博客的过程给过一遍吧。
我没有使用PyCharm的IDE,文本编辑器用的Sublime Text,有时用一下vim。
第一步,建立项目:打开终端,进入目录,运行命令:Django-admin startproject MyBlog (项目名)
之后在该目录下出现MyBlog的文件夹,打开后发现还有一个MyBlog的文件夹,这里面主要就是settings.py 和 urls.py 这两个文件了,其他的文件一直没用过,也不知道是干什么用的。settings.py这个文件顾名思义,就是关于项目的设置,比如每写一个app都要到这里面注册一下,还有修改数据库的类型(Django默认数据库是sqlite3),巨坑的一点是默认时区不是在中国,害得我每次看到数据库记录的时间都是一愣,其他的以后再说。urls.py这个文件也比较好理解,你访问服务器的地址就是通过匹配urls.py里的地址来执行某些函数,匹配不到就404了😂😂。
第二步,建立app:运行命令:Django-admin startapp main(app名)
我建立了一个名为main的app(深受c语言的毒害),每个项目都有数个app,如果想要实现的功能有很大差别,尽量放在不同的app中。接着在settings.py中的该区域内注册app,
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'main', ]
接着我就要说一下Django的逻辑:
1、当我运行python manage.py runserve命令就可以在本机上开启一个 Web 服务器,然后访问http://127.0.0.1:8000
2、Django在urls.py中匹配该网址,比如我们本地服务器的域名是http://127.0.0.1:8000,当我们输入该网址后,Django 首先会把协议 http、域名 127.0.0.1 和端口号 8000 去掉,此时只剩下一个空字符串,而 r'^$'
的模式正是匹配一个空字符串(这个正则表达式的意思是以空字符串开头且以空字符串结尾),于是二者匹配,Django 便会调用其对应的函数执行。
3、我们看到的页面就是函数执行后的结果。
因此接下来该编写函数了,首先我想要返回一个html页面,对吧。那么我要在main文件夹建立一个templates文件夹,专门存放各种html文件,接着进入templates文件夹,建立一个basemain.html(涉及到html和JavaScript等知识),那么如何访问该文件呢。第一步,打开main的views.py,进行如下修改:
def index(request): return render(request,'basemain.html')
这个函数很简单,就是当你调用该函数时,返回basemain.html。OK,该想办法调用该函数了,调用函数上面提到过,因此还需要到urls.py中修改,如下:
from main import views as main_views #引入views.py urlpatterns = [ url(r'^$',main_views.index), #访问http://127.0.0.1:8000匹配到该url,上文有解释 url(r'^admin/', admin.site.urls), ]
这篇就是这些了,本人技术小白,大家勿喷😏😏 第一篇博客,写的不好,请多多包涵。