Python系列之-一、Django入门

MVT设计模式

image

  请求访问流程:HTTP请求通过URL映射器,到达view层,view层能够从Model层获取数据,再从Template层取得不变的HTML数据,和Model层取得数据组合,最后返回HttpResponse应答。python

简单入门教程

建立项目

1. 在终端下,进入准备存放项目的目录下执行:django-admin startproject myproject,此时,目录结构为:
myproject/
	manage.py
	myproject/
		__init__.py
		settings.py
		urls.py
		wsgi.py

其中:
	myproject:项目的根目录
	manage.py:一个命令行程序,用来管理Django项目
	myproject/settings.py:项目配置
	myproject/urls.py:配置项目的URL映射器
	myproject/wsgi.py:一个WSGI兼容的Web服务器的入口。
复制代码
2. Django的项目配置信息须要保存到数据库中,默认使用sqlite3,在myproject/settings.py中设置。

  默认配置以下:mysql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

举例:MySQL数据库配置
DATABASES = {
	'default': {
		'ENGINE': 'django.db.backends.mysql',
		'NAME':'djangodb',  # 库名
		'USER':'root',
		'PASSWORD':'root',
		'HOST':'127.0.0.1',
	}
}

复制代码

  设置好数据库的配置文件后,须要执行以下命令初始化数据库。sql

$ python3 manage.py migrate
复制代码
3. 建立应用程序

  Django中有项目和应用程序的分别,应用程序能够理解为具备特定功能的一些程序,项目能够包含多个应用程序,例如一个商城,能够把订单和商品详细放在两个应用程序中,各自负责不一样的功能。   建立应用程序,在myproject目录下执行:数据库

$ python3 manage.py startapp books

整个项目的目录结构以下:
myproject/
	manage.py
	myproject/
		__init__.py
		settings.py
		urls.py
		wsgi.py
	books/
		__init__.py
		admin.py
		apps.py    # 注册应用
		models.py  # 模型层
		tests.py   # 测试相关代码
		views.py   # 视图层
		migrations/  # 数据库升级产生的文件存放在此目录
			__init__.py
复制代码
4. 第一个Django程序
1)修改myproject/settings.py文件,添加应用程序信息
INSTALLED_APPS = [
    'books.apps.BooksConfig',   # 添加这行信息
}
复制代码
2) 定义视图函数:参数是request(HttpRequest),返回值是HttpResponse。

  books/views.py文件django

from django.shortcuts import render
from django.http import HttpResponse

def hello(request):
    return HttpResponse('<h1>你好,世界</h1>')
复制代码
3) 修改项目的url映射器

  myproject/myproject/urls.py设计模式

from django.contrib import admin
from django.urls import path, include
import books
from books import urls

urlpatterns = [
    path('books/', include(books.urls)),  # 函数
    path('admin/', admin.site.urls),  # 函数
]
复制代码
4) 增长应用程序下的url映射器

  books/urls.pybash

from django.urls import path
from . import views

urlpatterns = [
    path('hello/', views.hello, name='hello')
]
复制代码
5) 启动服务器

  在项目根目录下执行以下命令:服务器

$ python3 manage.py runserver
复制代码
6) 访问http://127.0.0.1:8000/books/hello/,能够看到你好,世界的页面。
7) 解释

  request先到达myproject/myproject/urls.py的项目URL映射器中,根据path('books/', include(books.urls)),匹配books/,而后请求跳转到books.urls应用程序URL映射器,根据books/urls.py中的path('hello/', views.hello, name='hello'),匹配'hello/',请求跳转到views.hello这个视图函数中,views.hello视图函数处理业务逻辑,返回应答HttpResponse.app

后续再添加view和Model相关知识。

相关文章
相关标签/搜索