创建项目
通过命令创建虚拟环境
安装Virtualenv:pip install Virtualenv
创建虚拟环境:Virtualenv 虚拟环境名称
使用虚拟环境:
- Mac linux
- 运行 source venv/bin/activate
- windows
- 运行 venv\scripts\activate
进入虚拟环境后命令行用户名前面会加上(虚拟环境名)
(例:(venv)D:\Mywork\PycharmProjects\demo)
退出虚拟环境 deactivate
通过pycharm(专业版)创建虚拟环境
File->New Project->Django
location:项目路经和名称(demo项目名称)
New environment using:Virtualenv
(没有Virtualenv需要先安装,在cmd控制台输入pip install Virutalenv进行安装)
location:虚拟环境路径和名称(venv虚拟环境名称)
可能会提示需要安装Django,点击OK后续安装即可
安装完虚拟环境,点击左下角的Terminal进入虚拟环境安装Django
如果没有则通过命令进入虚拟环境
安装Django
进入对应的虚拟环境
默认安装:pip install django
指定版本安装:pip install django==3.2
安装慢可以指定源:pip install django==3.2 -i http://pypi.douban.com/simple/
创建项目
语法:django-admin startproject <project_name> [project_path]
不指定路径
django-admin startproject first
会在当前目录下创建一个名为first的文件夹,文件夹目录内容如下:
first/ #项目跟路径,文件名可以修改
manage.py #项目管理命令行工具
first/ #django的项目目录,Python包
__init__.py
setting #项目配置文件
urls.py #项目的根路由
asgi.py #兼容asgi协议的web服务器入口
wsgi.py #兼容wsgi谢谢的web服务器入口
建议在建项目时指定路径(后面的点表示当前目录)
例:django-admin startproject autotest .
指定路径
django-admin startproject autotest .
manage.py #项目管理命令行工具
autotest / #django的项目目录,Python包
__init__.py
setting #项目配置文件
urls.py #项目的根路由
asgi.py #兼容asgi协议的web服务器入口
wsgi.py #兼容wsgi谢谢的web服务器入口
修改基本配置
在setting.py文件中
LANGUAGE_CODE = ‘en-us’ 默认是英文
TIME_ZONE = ‘UTC’ 默认时区
LANGUAGE_CODE = ‘zh-hans’ 是中文
TIME_ZONE = ‘Asia/Shanghai’ 北京时间时区
运行项目
命令行运行
Django框架自带的简易服务器,开发时使用,不要用于生产
语法:python manage.py runserver ip:端口
如果不带IP和端口,默认运行在127.0.0.1:8000
同一个局域网其他IP也可访问:python manage.py runserver 0.0.0.0:8000
pycharm中配置与运行
File->Setting->Languaes&Frameworks->Django
Django project root(选择项目根目录)
Setting(找到项目中的Setting文件)
Name:随意设置
Host:输入0.0.0.0
Port:运行的端口,默认为8000,可以修改
运行成功
在浏览器中访问http://127.0.0.1:8000/
显示Django的默认视图
创建应用
通过命令创建应用(一个应用就是一个子功能)
语法:python manage.py startapp <project_name>
例:python manage.py startapp projects
会创建一个projects应用,结构如下:
projects/
__init__.py
admin.py #django后台站点程序入口
apps.py #当前应用配置信息入口
migrations/ #数据迁移记录信息目录
__init__.py
models.py #数据模型模块
tests.py #单元测试
viewspy #视图
视图
打开projects/views.py,编写如下代码
from django.http import HttpResponse
def index(request):
return HttpResponse("旺旺掀被视图")
添加路由
在projects应用目录下创建模块urls.py,编写如下代码
from django.urls import path
from projects import views
urlpatterns = [
path('', views.index)
]
注意:urls.py、urlpatterns名称固定不能修改
配置好子路由还需要放到主路由中,在项目下的urls.py文件path(‘admin/’,admin.site.urls)后面添加子路由,代码如下
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('projects.urls')), # 表示将projects中的子路由添加到主路由中
]
重新运行项目,在浏览器访问http://127.0.0.1:8000/
显示如下图