Django项目是一个Python定制框架,它源自一个在线新闻Web站点,于2005年以开源的形式被释放出来。
Django是用Python语言写的开源web开发框架,鼓励快速开发,并遵循MVC设计。
安装:pip install django
查看Django版本
Django的特点
1)容易上手,开发速度快
2)囊括了网站开发中的用户管理、内容管理、网站地图等常用的众多插件
3)安全性强,比如Django默认解决了SQL注入、跨站攻击等问题
4)应用广泛,类型多样化。使用Django开发的网站包括公司提供的各类在线服务网站、社会组织和政府机构网站等,其类型包括但不限于管理系统、社交网站、计算平台等
Django支持四种数据库
MySQL(http://www.mysql.com/)
SQLite 3 (http://www.sqlite.org/)
PostgreSQL(http://www.postgresql.org/)
Oracle(http://www.oracle.com/)
在Django中使用MySQL:
Django要求MySQL4.0或者更高的版本。3.X版本不支持嵌套子查询和一些其它相当标准的SQL语句。
系统终端中命令行中输入pip3 install pymysql安装
创建项目
第一步:
新建一个工作目录,比如Djproject
cmd打开控制台,进入到Djproject目录下
第二步:
cmd命令行输入:
django-admin startproject mysite
在当前目录下创建了一个项目名为mysite的文件:里面的内容如下
文件功能如下:
__ init __.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。
manage.py :一种命令行工具,允许你以多种方式与该 Django 项目进行交互。键入python manage.py help,看一下它能做什么。 你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
settings.py :这个文件包括了项目的初始化设置,可以针对整个项目进行有关参数配置,比如配置数据库、添加应用等。
urls.py:这是一个URL配置表文件,主要是将URL映射到应用程序上。当用户请求某个URL时,Django项目会根据这个文件中的映射关系指向某个目标函数,该对象可以是某个应用中的urls.py文件,也可以是某个具体的视图函数。
wsgi.py:WSGI是Web Server Gateway Interface的缩写,是Python所选择的服务器和应用标准,Django也会使用。wsgi.py文件定义了我们所创建的项目都是WSGI应用。
第三步:
启动Django
cmd控制台进到含有manage.py的目录下
输入python manage.py runserver
运行成功的显示:
然后在浏览器中输入http://127.0.0.1:8000/显示一下页面:
默认情况下, runserver命令在 8000 端口启动开发服务器,且仅监听本地连接。 要想要更改服务器端口的话,可将端口作为命令行参数传入:
python manage.py runserver 8080
通过指定一个 IP 地址,你可以告诉服务器–允许非本地连接访问。 如果你想和其他开发人员共享同一开发站点的话,该功能特别有用。 0.0.0.0
这个 IP 地址,告诉服务器去侦听任意的网络接口。
注意:settings.py文件中ALLOWED_HOSTS = [‘*’]
python manage.py runserver 0.0.0.0:8000
完成这些设置后,你本地网络中的其它计算机就可以在浏览器中访问你的 IP 地址了。比如:http://192.168.1.103:8000/ . (注意,你将需要校阅一下你的网络配置来决定你在本地网络中的IP 地址) Unix用户可以在命令提示符中输入ifconfig来获取以上信息。 使用Windows的用户,请尝试使用ipconfig 命令。
第四步:
settings.py中需要修改添加的内容:
头部:
在与manage.py同级的目录下创建一个templates文件,存放html文件,在settings.py中配置:
在与manage.py同级的目录下创建一个static文件,然后在里面再分别建一个css、js、json、imgs目录存放css、js、json、图片文件,在settings.py中配置:
第五步:
在与settings同级的目录下创建一个views.py的空文件。
在views.py文件中输入:`
from django.http import HttpResponse
def hello_response(request):
text = "hello world!"
responseHtml='''
%s
''' % text
return HttpResponse(responseHtml)
#这个函数只有简单的一行代码: 它仅仅返回一个HttpResponse对象,这个对象包含了文本“Hello world!”
注: 一个视图就是Python的一个函数。这个函数第一个参数的类型是HttpRequest,它返回一个HttpResponse实例。
前两行导入django.contrib下的admin模块和django.urls的path模块,它们是Django URLconf的基本构造。 这包含了一个patterns函数.
第二行调用path() 函数并将返回结果保存到 urlpatterns 变量。
如果想在URLconf中加入URL和view,只需增加映射URL模式和view功能的Python tuple即可,如下
在urls.py中输入:
from django.contrib import admin
from django.urls import path
from mysite.views import hello_response
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/',hello_response)
]
开发服务器来测试修改好的 URLconf, 运行命令行 python manage.py runserver(如果你让它一直运行也可以,开发服务器会自动监测代码改动并自动重新载入,所以不需要手工重启)。开发服务器的地址是http://127.0.0.1:8000/ ,打开你的浏览器访问 http://127.0.0.1:8000/hello/, 你就可以看到输出结果了。 开发服务器将自动检测Python代码的更改来做必要的重新加载, 所以你不需要重启Server在代码更改之后。服务器运行地址“http://127.0.0.1:8000/” ,所以打开浏览器直接输入“ http://127.0.0.1:8000/hello/”,你将看到由你的Django视图输出的Hello world。
urls.py也可以写成以下这样
from django.conf.urls import url
from django.contrib import admin
from django.urls import path
import mysite.views
urlpatterns = [
#正则表达式确切匹配
url(r'^hello$',mysite.views.hello_response)
]