Django快速入门教程1
Django makes it easier to build better Web apps more quickly and with less code.
本教程实现一个官方教程Writing your first Django app中的Demo,并将其用的数据库从sqlite改成mysql。
如果自己看官方文档,英文阅读能力强的同学需要一天时间看完整个tutorial, 本教程旨在带你快速入门django。
需要事先安装好python3、django和 mysqlclient(Django model层通过它来和mysql交互)。
mac通过pip安装mysqlclient会有问题出现,解决方法链接:solution。
Django_quick_start demo 链接: 我的github
项目结构和运行
cd到一个空目录下输入下面语句新建一个项目
django-admin startproject mysite
django项目结构
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
外层的mysite是项目的root目录,可以重命名
manage.py是可以一个用来和django project进行交互的脚本文件
里面的mysite目录是实际的python package,例如引用urls.py文件时需要写import mysite.urls
settings.py是django工程的设置文件
urls.py是django工程的url地址声明文件
wsgi.py是兼容WSGI的Web服务器的入口,为项目提供服务。
将settings.py改成下面代码即可链接MySql数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名称',
'USER': '数据库用户',
'PASSWORD': '用户密码',
'HOST': 'localhost',
'PORT': '3306',
}
}
在root目录(manage.py所在目录)输入以下语句运行工程
python manage.py runserver
或输入以下语句改变运行端口号
python manage.py runserver 8080
或输入以下语句改变运行IP地址和端口号
python manage.py runserver 0:8000
note: django默认支持改代码自动加载,不需要像用IDEA写java web项目那样进行设置热部署
项目APP和创建第一个view
以上只是创建了一个web项目,即你的应用所需的运行环境。而真正去提供服务的是app,一个project可以包含多个APP,而一个APP也可以被多个project包含。
输入以下语句创建一个APP:
python manage.py startapp polls
APP目录结构:
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
打开polls/view.py文件输入以下语句:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
打开polls/urls.py文件输入以下语句:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
在项目的根url设置文件里设置polls APP的url地址,打开mysite/urls.py输入以下语句:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
polls APP的url地址设置在自己的urls.py文件里,include语句让你可以轻松设置以访问polls APP的url地址而不管它在/polls/、/fun_polls/或者/content/polls/目录下。
Django URL dispatcher从上倒下扫描urlpatterns中配置的url地址直到找到第一个符合配置的url地址停止。
path()函数的四个参数:
- route:表示url pattern。
- view:当URL dispatcher找到匹配的route后,触发APP
view.py中的方法,这个被触发的方法第一个参数是一个HttpRequest
object,剩余的为从url地址中解析出来的keyword。 - kwargs:可选的参数,表示传给APP view.py的方法的键值对,形式为dictionary。
- name:可选参数,为这个url地址起一个别名以便于在django项目的其它地方引用,特别是django模版。
本节到此结束,通过django操作数据库请见Django快速入门教程2。