edX平台使用了Django框架,我对Python并不是很熟悉,MVC模型也是最近才了解的。在网上找到Djangobook的中文教程,先学习一下。
Django框架中,一个网页功能可以分成四个文件来完成:
1、数据库操作:models.py,用一个python类来实现数据表。
2、视图1:视图部分分成两个,第一个是views.py,“业务逻辑页面”,就是编写视图函数,例如example(),它决定要向页面显示哪些内容。
3、视图2:example.html文件,就是网页的模板,需要用django规定的语言来写。
4、连接文件:urls.py,为视图1和视图2建立逻辑关系,视图2的example.html文件要调用哪个视图函数,如example()。
安装后可以检查下Django的version来验证下,具体如下:terminal输入python进入shell,然后import django,接着django.VERSION或者print(django.get_version()),就可以得到版本了。我的是1.6.2
最开始是建立一个项目:
转到建立的工程目录,然后运行django-admin.py startproject sitename,这样利用Django建立了一个基本的工程。1.6.2版本的工程文件结构是两级的,(貌似1.4版本之前是一级的文件目录),mysitename文件夹下面有manage.py和mysitename的文件夹,mysitename文件夹下面有5个基本文件:__init__.py settings.py urls.py views.py wsgi.py。
逐一说一下:
manage.py是Django提供的命令行工具,可以在运行时后面跟着参数来当作与Django交互的命令,如运行服务器:python manage.py runserver [port]
mysitename文件夹下面:
__init__.py来向django声明这是一个工程包(一组模块),这是Djangobook上写的,打开来看,额,是空的。为什么?在网上搜了一下,看到了这个,http://www.2cto.com/kf/201204/129388.html。
settings.py 配置该Django项目,打开看有配置基本路径的(这里没看懂,以后再研究,mark下),有项目自动生成的密匙,然后很重要的DEBUG和TEMPLATE_DEBUG选项,为true时,会显示页面错误信息和过程,上面也注明了,要在项目正式运行时改为false,还有ALLOWED_HOSTS这个是什么?可能是主机特权之类的,我猜是当以上调试功能设为false时,这里面的主机可以启用调试功能,猜的,再查。然后还有一大堆app 定义,应该是调用的app支持库,接下来有ROOT_URLCONF很重要,指明了逻辑关联的定义文件,通常在一个文件目录下,mysitename.urls,然后就是数据库的定义,现在默认的是sqlite3.接着是语言和编码的定义,还有一个static_url,暂时还没接触到,应该是html文件目录。