创建Django项目
安装 Django 之后,我们就有了管理工具 django-admin.py。我们可以使用 django-admin.py 来创建一个项目:
1 | django-admin startproject HelloWorld |
对于旧版本的Django要使用:
1 | django-admin.py startproject HelloWorld |
进入项目目录,执行:
1 | python manage.py runserver 0.0.0.0:8000 |
来启动项目,然后在浏览器中访问127.0.0.1:8000可知项目是否创建成功。
URL配置
创建项目后我们必然要添加自己的页面,同时我们也需要配置该页面的URL。在讲Django模板之前我们没办法直接返回html文件,只能直接返回内容,当然你也可以把这些内容组织为html格式。
- 添加页面处理。在…/HelloWorld/HelloWorld/目录下新建newpage.py文件,文件代码如下:
1
2
3
4
5from django.http import HttpResponse
#这是视图函数,配置url时要用到
def HelloWorld(request):
return HttpResponse("<h1>Hello World</h1>") - 配置URL。编辑…/HelloWorld/HelloWorld/目录下的urls.py,添加两行代码访问127.0.0.1:8000/HelloWorld即可得到新建的页面。
1
2
3
4
5
6
7#******原有import********
from . import newpage
urlpatterns = [
#*****原有url****
url(r'^HelloWorld$',newpage.HelloWorld),
]url() 函数:
Django url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。
regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
view: 用于执行与正则表达式匹配的 URL 请求。
kwargs: 视图使用的字典类型的参数。
name: 用来反向获取 URL。
Django模板
若想返回html文件,需要先指定…/HelloWorld/HelloWorld/setting.py中的TEMPLATES,将其DIRS指定为某个文件夹(一般为templates),然后讲html文件放入该文件夹调用。
我们可以在讲TEMPLATES的DIRS指定为'DIRS': [BASE_DIR+"/templates",],
,然后在…/HelloWorld/templates/目录下新建HelloWorld.html:
1 |
|
最后将newpage.py的内容改为:
1 | # -*- coding:utf-8 -*- |
因为url已经配置过了,所以直接访问127.0.0.1:8000/HelloWorld即可得到新的页面内容。
如果只是这样使用Django模板的话,就真的是浪费了。Django模板的方便之处在于可以将文档的表现形式和内容分开。我们在…/HelloWorld/templates/目录下建立pattern.html用于存储文档的表现形式:
1 |
|
然后在用以目录下建立content.html用于存储要展示的内容:
1 | {%extends "pattern.html" %} |
接下来配置URL,在…/HelloWorld/HelloWorld/目录下新建template.py文件,文件代码如下:
1 | # -*- coding:utf-8 -*- |
在urls.py中添加url(r'^template$',template.template),
就能访问127.0.0.1:8000/template看到效果了。
Django之App
Django是一个比较重型的Web框架,一个比较大型的网站下可能有许多个分支,为了实现隔离可以创建多个用django-admin startapp appName
命令来创建多个APP。有了APP我们就可以使用Django模型_(注意不是模板)_,进而使用数据库。
Django的数据库连接
Django 对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。Django 为这些数据库提供了统一的调用API。 我们可以根据自己业务需求选择不同的数据库。
Django的默认数据库是SQLite3,想要转换为其他数据库需要调整一些参数。我们以Mysql为例做讲解数据库的连接。
Django规定,如果要使用模型进而对数据库进行操作,就必须创建一个app。连接并操作Mysql数据库的步骤如下:
- 在Mysql中建立一个database
- 创建一个新APP
- 在setting.py的INSTALLED_APPS中加入新的APP
- 填写setting.py的DATABASES:
1
2
3
4
5
6
7
8
9
10DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 或者使用 mysql.connector.django
'NAME': 'test',#数据库名
'USER': 'test',#用户名
'PASSWORD': 'test123',#用户密码
'HOST':'localhost',#数据库所在主机地址
'PORT':'3306',#mysql服务端口
}
} - 填写APP目录下__int__.py文件这一步非常重要,我因为不知道要修改__int__.py文件,导致Django不能运行,最后才知道是数据库连接失败的原因。
1
2import pymysql
pymysql.install_as_MySQLdb()
具体的连接细节和操作方法网上有很多教程,可以参见菜鸟教程