安装 python、Visual Studio Code
安装虚拟环境
-
win+X 点击 Windows PowerShell
-
输入 Set-ExecutionPolicy Unrestricted
-
让当前的power shell 没有任何的限制去操作对应的命令
-
显示执行策略在修改,输入 Y
-
回车 完成更改
-
cls 、clear 、list、 (python -v)
-
pip freeze==pip list
-
安装 virtualenv ------------- pip install virtualenv -i https://pypi.douban.com/simple (换元法安装)
-
随后再桌面上创建一个文件夹django_project (这个文件夹你可以放在任何位置)
-
为文件夹搭建虚拟环境
-
在 power shell cd ~ 引入到用户目录
-
cd .\Desktop\django_project tab键可完成补全
-
进入如下界面
-
使用虚拟环境命令使当前文件成为一个独立空间的虚拟环境
virtualenv .
-
完成下载后,此文件夹成为了一个 windows 的虚拟机
-
ls 查看文件夹
- 执行 .\Scaripts\activate 切换虚拟空间生成如下
- 退出虚拟空间 deactivate
- 执行 .\Scaripts\activate 切换虚拟空间生成如下
-
安装Django
- 确认在虚拟虚拟环境下
- 安装Django (换元法安装)
- pip install django -i https://pypi.douban.com/simple
创建Django项目
-
确认在虚拟虚拟环境下
-
django-admin startproject project_name (我的是mylirary)
-
此时会创建一个mylibrary django项目
-
cd .\mylibrary
-
进入如下目录
-
执行 code . (code 启动当前系统的 vscode, . 是通过vscode启动 mylibrary 项目)
-
如上显示
-
运行我们的django项目
- 在vscode 的终端
- 在windows 终端即 power shell
- python manage.py runserver
- python manage.py migrate(django 中数据库所依赖的东西)
-
浏览器 127.0.0.1:8000 (localhost:8000)
配置路由 urls
-
在 mylibrary 同级目录下创建一个app
python manage.py satrtapp library
-
(app 中可能部分文件没有,创建即可)
-
如果你每新建一个app,想让他启动起来 ,你必须在设置文件(mylibrary文件夹)下设置 settings
# INSTALLED_APPS INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'library', # 添加 app ]
-
同样在设置文件的urls.py文件下设置
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('', include('library.urls')), # ]
展示HTML页面
-
来到 app(library) 下的 urls.py,配置当前app路由
from django.urls import path from . import views urlpatterns = [ path('',views.home,name='home'), # 未配置文件等下配置,相关参数请参考django帮助文档 # 如果 path('home/',views.home) 则需要localhost:8000/home ]
-
到 app的views.py,配置视图
from django.shortcuts import render # render 跳转到对应的页面 def home(request): return render(request,'home.html',{})
-
配置模板
- 方法1
- 在 mylibrary 目录下创建模板文件夹 templates,创建 home.html
<h1>hello,word</h1>
- 在配置文件夹 mylibrary 的settings.py 文件配置模板路径
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR+'/templates',],# []填写内容 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
-
方法2:
-
直接在app项目下创建templates,创建home.html
<h1>hello,word</h1>
-
即可
-
走一下执行思维:localhost:8000 发起请求–>请求到我们项目mylibrary的urls.py --> 在这里发现其实执行的是根路径 include() 跳转的路径 --> 来到app的urls.py --> 发现请求的路径地址是根路径下的views.home函数的内容 --> 来到views.py 执行home方法 --> 执行 render 展示模板内容
创建公共HTML模板
-
使用前端给我们提供的框架 bootstrap
-
点击中文网,点击Bootstrp4中文文档,点击中文文档进入
-
复制最基本模内容
-
上面页面网站:https://v4.bootcss.com/docs/getting-started/introduction/
-
在library/templates下创建base.html,粘贴所复制的最基本模板内容
# base.html <!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> # 引用了我们所需要的CSS样式(注意:html中<!-- 和 -->代表注释) <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"> <title>Hello, world!</title> </head> <body> <!-- 在这一块我们要展示我们的home.html的内容 --> {% block content %} {% endblock %} <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script> </body> </html>
-
在home.html文件中设置继承接口
{% extends 'base.html' %} {% block content %} <h1>hello,word</h1> <p>测试是否能够看到我</p> {% endblock %}
-
继续看 Django–用户管理系统(二)