Django基础
Django下载安装
安装
安装正式版本
cmd中输入pip install django
安装特定版本
安装最新的开发版本
针对想体验最新和最好的特性的爱好者们
步骤如下:
1.安装Git,可以从shell运行git help测试是否安装
2.输入git clone https://github.com/django/django.git
3.确保python解释器可以加在django代码,关于这个,可以查看编写你的第一个 Django 补丁 | Django 文档 | Django (djangoproject.com)学习
4.输入py -m pip install -e django\
·查看版本号
cmd中输入pip show django
· 检查是否可用
cmd中输入python,在下方继续输入python代码:import django,继续输入print(django.get_version())
创建项目
django-admin startproject 项目名称
- 最外层的 mysite/ 根目录是项目的容器, 根目录名称对 Django 没有影响,可以将它重命名为任何名称。
- manage.py: 让你用各种方式管理 Django 项目的命令行工具。
- 里面的 mysite/ 目录包含项目,是纯 Python 包。引用内部文件时,需要用到Python包名。(如 mysite.urls).
- mysite/__init__.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。
- mysite/settings.py:Django 项目的配置文件。
- mysite/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。
- mysite/asgi.py:作为项目运行在 ASGI 兼容的 Web 服务器上的入口。
- mysite/wsgi.py:作为项目运行在 WSGI 兼容的Web服务器上的入口。
项目目录
crm
manage.py 【管理当前项目】
crm
-settings.py 【部分项目设置】
-wsgi.py
-asgi.py 【启动项目接收浏览器发送的请求】
-urls.py 【对应关系 url->函数】
验证是否创建成功
在项目根目录下输入:py manage.py runserver
可以在浏览器输入http://127.0.0.1:8000/进行查看,会出现以下界面
当然,端口也不一定要是8000,你可以输入:py manage.py runserver 端口号来更改服务器的监听端口。但默认情况下,runserver命令会将服务器的监听端口设置为8000
如果想修改服务器监听的ip,在端口之前输入新的,如:py manage.py runserver 192.168.XX.XX:8000
app概念
mytest -app1.用户的管理 【表结构、HTML模板、css、图片】 -app2.其他管理 【表结构、HTML模板、css、图片】 -app3.API请求处理 【表结构、HTML模板、css、图片】 -mytest -settings.py -urls.py -wsgi.py -manage.py
mytest -app1.用户的管理 【表结构、HTML模板、css、图片】 -views.py 【视图函数,接收请求处理业务逻辑】 -models.py 【创建数据库表结构,操作表中数据】 -migrations -test.py 【单元测试】 -apps.py 【配置】 -admin.py 【django内置后台管理,可用可不用】 -mytest -settings.py -urls.py -wsgi.py -manage.py
创建应用
应用可以存放在任何Python路径中定义的路径。
如在manage.py所在的目录下创建应用:
py manage.py startapp blogs
项目和应用的区别
应用是转做某件事的网络应用程序,如博客系统、或是公共记录的数据库等。项目则是一个网站使用的配置和应用的集合,项目中可以包含很多应用。应用也可以被很多项目使用。
编写视图
在blogs/views.py中输入:
from django.http import HttpResponse def index(request): return HttpResponse("这是博客界面。")
如果想看到效果,需要在blogs目录中新建一个urls.py文件
并在其中输入以下代码
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
之后再把myproj目录下的urls.py中代码进行修改
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('blogs/', include('blogs.urls')), path('admin/', admin.site.urls), ]
include()使用:当包括其他url模式时,应该使用include(),admin.site.urls是唯一的例外
做完这一切,在cmd中manage.py所属文件夹内输入:py manage.py runserver
用浏览器访问http://localhost:8000/polls/,就能看到views.py中输出的内容
注意:如果这里界面显示Page not found,首先检查访问的地址是不是错写为http://localhost:8000/。
Path()参数
route:匹配URL的准则,类似正则表达式,当Django响应请求时,它会从urlpatterns的第一项开始按顺序匹配,直至找到匹配的项
view:当Django找到匹配的准则后,会调用特定的视图函数,并传入一个HttpRequest对象作为第一个函数,被捕获的参数以关键字参数形式传入
kwargs:关键字参数可以作为一个字典传递给目标视图函数
name:为你的URL取名,方便在Django的任意位置唯一饮引用
settings.py设置
数据库配置
配置文件:myproj/settings.py
这个配置文件默认使用SQLite数据库。
如果想使用其他数据库,需要安装合适的database bindings,然后修改设置文件中DATABASES’default项目中的某些键值:
ENGINE:可选值:django.db.backends.sqlite3、django.db.backends.postgresql、django.db.backends.mysql、django.db.backends.oracle
NAME:数据库的名称
如果不使用SQLite,必须添加额外的设置,如user、password、host等,如下是mysql数据库的配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 连接数据库驱动的名称 'NAME': 'blog', # 数据库名称 'HOST': '127.0.0.1', # 数据库地址 'USER': 'root', # 数据库用户名 'PASSWORD': '123456', # 数据库密码 'PORT': 12340, # 端口 } }
如果使用SQLite外的数据库,要先确认已经创建了数据库,还要确保数据库用户中提供myproj/settings.py具有创建数据库的权限
INSTALLED_APPS设置项
这里包括了项目中启用的所有应用,应用能在多个项目中使用,也可以打包并发布应用来使用
INSTALLED_APPS = [ 'django.contrib.admin', # 管理员站点 'django.contrib.auth', # 认证授权系统 'django.contrib.contenttypes', # 内容类型框架 'django.contrib.sessions', # 会话框架 'django.contrib.messages', # 消息框架 'django.contrib.staticfiles', # 管理静态文件的框架 'article.apps.ArticleConfig', # 后面是自己创建的app 'mdeditor', ]