摘要:最近开始接触Django框架,对于这个MTV模式的high-level Python Web 框架,我得到不少收获,现在整理下初入门的学习笔记,供初学者参考。
1.简单理解Django
Django是一个Python Web 框架,它可以让你在更短的时间内,写更少的代码,编写出一个让人满意的web项目。另外Django采用的是MTV架构,即model-template-view(模型-模板-视图)。
model: 负责业务对象与数据库的关系映射
template: 负责渲染需要展示给客户的页面
view: 负责业务逻辑,并在必要的时候调用model和template
可以这样简单理解,浏览器发送一个请求到web服务器,服务器通过URL选中一个view进行处理。而view则可以通过调用model(模板)取得底层所需数据,并将这些所需数据传给template(模板)进行页面渲染,最后返回给view一个美观的web页面, 再展示出来。
(更深理解请读者自寻查阅相关资料,django官网https://www.djangoproject.com/)
2.win10下Django安装
安装Django的前提条件是你的电脑已经安装了python,建议读者安装Python3。
如果电脑已安装好python,我们就可以在命令行里用pip 进行安装了。
一般安装python之后,都会默认安装上pip包。如果不清楚自己电脑上是否安装了pip包,可以通过如下语句查看:
(1)打开命令行
(2)pip list
(3)按Enter键
可以看到pip(9.0.3) ——注:这是本人电脑上的pip版本号,你电脑上的版本可能不一样。
如果你的命令行里没有出现类似上面的记录,而是:‘pip’不是内部或外部命令,也不是可运行的程序或批处理文件。
那么你就得设置一下环境变量,将pip.exe所在的目录放到PATH里(不清楚的自行百度)
确定cmd里的pip可用,我们便可以写下语句“pip install diango”进行安装。
这条语句执行后,我们的电脑会自动安装最新版的django,如果你想安装指定的版本(如稳定版1.11),则这样写,“pip install diango==1.11”
检查是否安装成功,可以在cmd里输入:
1. python
2. import django
3. django.get_version()
如果出现‘python’不是内部或外部命令……那么也是环境变量没有设置好!
按下回车,即可创建一个项目。这里注意,如果你想将项目创建在指定的文件夹下,则需要跳转到指定目录下。如下,
我是跳转到D盘django_project文件夹里创建SMSytem项目的。
创建完成后,就意味着有一个网站的基本框架了。可以下述命令,访问网站:
python manage.py runserver
根据提示的信息,进入http://127.0.0.1:8000/访问:
4.创建应用
项目建好,网站也有,接下来就是实现网站的具体功能,这时我们就需要创建一个个应用(app)。
按Ctrl+c 停掉刚才的服务。
继续写,python manage.py startapp SInformation
创建成功后,你的项目文件夹下应该类似于这样了。
5.配置
可以下载一个免费的社区版pycharm打开你的项目文件。进入SMSystem/settings.py,我们会看到一行行的代码。
1、 DEBUG = True #在开发过程中设置为True,如果部署到对外服务器上时,则要修改为False,从而避免暴露内部信息。 2、ALLOWED_HOSTS = [] #可以在括号里填写域名,以便他人访问。 3、INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'SInformation', ] #这是一个很重要的配置项,所有的应用只有填写到这里才有效,比如填写的 'SInformation'。 4、TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR,'templates')], 'APP_DIRS': False, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] #这里是配置模板的地方,如果你建立的一个templates项,就需要在这里配置路径,如上。 5、DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } #配置数据库的地方,默认的sqlite3--python自带的数据库。 6、
LANGUAGE_CODE #设置项目语言。
如果想将语言设置为中文,可以这么改:
6.运行
在简单了解了django及一些内部后,我们可以尝试在之前的http://127.0.0.1:8000/网页里显示一个“hello world!”
(1)首先在setting.py中激活你建立的应用。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'SInformation',
]
(2)配置URL
这样改写在SMSystem下的urls。py文件:
from django.conf.urls import url,include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^', include('SInformation.urls')), ] 然后在SInformation包下也新建一个urls.py文件,填写内容如下:
from django.conf.urls import url from . import views urlpatterns = [ url(r'^$',views.index), ]这时我们的views.py文件里是没有index这个函数的,要自己写一个index。
from django.http import HttpResponse def index(request): return HttpResponse("hello world!")最后在cmd项目文件SMSystem下运行python manage.py runserver , 打开 http://127.0.0.1:8000/ 就可以看到如下画面: