搭建虚拟环境
参考:https://www.yuque.com/cc8816/ql831i/gh8gao
安装 Django
在已激活的虚拟环境中,使用如下命令安装 Django:
# 激活虚拟环境
$ pipenv shell
# 安装flask
$ pip install django==2.2 # 若不指定版本,默认为最新
Pycharm配置虚拟环境
创建Django项目
使用命令行创建
# django-admin startproject [项目名称]
$ django-admin startproject first_project
使用Pycharm创建
如果pycharm是专业版的话,可以用pycharm安装Django
运行Django项目
- 通过命令行运行:
运行后,通过http://127.0.0.1:8000/来访问网站。$ cd d:\Project_Django\first_project
$ python manage.py runserver
# 指定端口号,默认为8000
$ python manage.py runserver 9000
第一次运行runserver时会报错(不影响项目运行),因为Django默认使用sqlite数据库,需要执行 python manage.py migrate
进行初始化:
- 通过pycharm运行Django项目:
打开manage.py,在右上角点击——edit configurations,然后按如下设置
项目结构介绍
- manage.py:
- 以后和项目交互基本上都是基于这个文件;
- 一般是在终端输入
python manage.py [子命令]
; - 输入
python manage.py help
查看可执行的子命令。
- settings.py:
- 当前项目的设置项;
- 所有和本项目相关的配置都是放在该文件。
- urls.py:
- 该文件用来配置URL路由;
- 比如配置 http://127.0.0.1/news/ 为新闻列表页。
- wsgi.py:
- 项目与WSGI协议兼容的web服务器入口;
- 部署项目时需要用到,没有特殊需求无需修改。
创建项目app
app是django项目的组成部分,一个app代表项目中的一个模块,所有URL请求的响应都是由app来处理。
比如豆瓣里面有图书,电影,音乐,同城等都为豆瓣项目的模块。因此,django项目由许多app组成。
在命令行创建app:
$ cd d:\Project_Django\first_project
$ python manage.py startapp [app名称]
app中的文件说明
__init__.py:说明目录是一个Python模块;
models.py: 和数据库相关的内容;
views.py: 接收请求,处理数据与M和T进行交互;
tests.py: 写测试代码的文件(暂时不需要关心);
admin.py: 网站后台管理相关;
应用注册
建立应用和项目之间的联系,需要对应用进行注册,修改 settings.py
中的 INSTALLED_APPS
配置项。
Django初体验
# urls.py 内容
from django.contrib import admin
from django.urls import path
from django.http import HttpResponse
# 导入创建的app
# from movie.views import movie
from movie import views
"""
1、必须传参request
2、返回值必须为HttpResponse类,或其子类对象
"""
def index(request):
return HttpResponse("Hello World")
# def movie(request):
# return HttpResponse("电影页面")
urlpatterns = [
path('admin/', admin.site.urls),
path('', index),
# path('movie/', movie),
path('movie/', views.movie),
]
创建app - movie:**
$ python manage.py startapp movie
DEBUG模式
Django默认已开启debug模式:
- 修改代码后按下ctrl+s,Django会自动重启项目;
- 若项目代码出现了问题,在浏览器和控制台中会打印错误信息;
- 如果项目上线,需关闭debug模式,不然有很大的安全隐患;
关闭DEBUG模式
在setting文件中,设置 DEBUG = False
。