安装Django
pip install django
E:\Anaconda -python.exe -Scripts -pip.exe -django-admin.exe 【工具,创建django项目中的文件和文件夹】 -Lib -内置模块 -site-packages -openpyxl -python-docx -flask -django 【框架源码】
创建项目(命令)
- 打开终端
进入到某个目录里面(项目存放文件夹)
E: cd E:\python-project
执行命令创建项目
“E:\Anaconda\Scripts\django-admin.exe” startproject 项目名
如果E:\Anaconda\Scripts\已加入到环境变量,则
admin-django.exe startproject 项目名
- 创建项目
“E:\Anaconda\Scripts\django-admin.exe” startproject django_setup
Pycharm创建项目
注意:
-python解析器安装目录,
E:\Anaconda\python.exe lib …..(lib)是解释器文件。
-项目安装目录
E:\python-project
两种方式对比
- 命令行,创建的项目是标准的。
pycharm,在标准的基础上默认给咱们加了点东西
app,用户管理 【表结构、函数、HTML模板、CSS】
- app,订单管理 【表结构、函数、HTML模板、CSS】
- app,后台管理 【表结构、函数、HTML模板、CSS】
- app,网站 【表结构、函数、HTML模板、CSS】
- app,API 【表结构、函数、HTML模板、CSS】
注意:我们开发比较简洁,用不到多app,一般情况下,创建一个app即可。
:::

django项目的结构
快速上手
- 确保app已经注册【】

- 编写URL和视图函数对应关系【】

- 编写视图函数【views.py】

- 启动Django函数
命令行启动
:::tips
python manage.py runserver
:::
pycharm启动
:::tips
templates
绑定关系url -> views
静态文件
在开发过程中一般将
- 图片
- css
- js
4.3.1在app目录下创建static文件夹
4.3.2引用静态文件

在网站进行访问,直接在pycharm中打开html文件是不解析的。
5.模板语法
本质上:在HTML中写一些占位符,由数据对这些占位符进行处理 和替换
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><h1>模板语法学习</h1><div>{{ n1 }}</div><div>{{ n2 }}</div><div>{{ n2.0 }}</div><div>{{ n2.1 }}</div><div>{{ n2.2 }}</div><div>{% for item in n2 %}<span>{{ item }}</span>{% endfor %}</div><hr/>{{ n3 }}{{ n3.name }}{{ n3.salary }}{{ n3.role }}{# sd n3.keys键 n3.value 值 n3.item 对#}{% for k,v in n3.items %}<li>{{ k }}={{ v }}</li>{% endfor %}{{ n4.0 }}{{ n4.0.name }}{{ n4.0.role }}{% for item in n4 %}<div>{{ item.name }}</div><div>{{ item.salary }}</div>{% endfor %}{% if n1 == "小明" %}<h1>大大大</h1>{% elif n1 == "xxx" %}<h1>嘀嘀嘀</h1>{% else %}<h1>嘟嘟嘟</h1>{% endif %}</body></html>
案例:伪联通中心
案例:请求 和响应

def something(request):
# request是一个对象,封装了用户发送过来的所有请求相关数据
# 1.获取请求方式
print(request.method)
#2.在url中传递值 /something/?n1=123&n2=999
print(request.GET)
#3.在请求体中提交数据
# print(request.POST)
#4【响应】HttpResponse("返回内容"),内容字符串内容返回后给请求者
# return HttpResponse
#5.【响应】读取HTML的内容 + 渲染(替换) -> 字符串,返回给用户浏览器
# return render(request, 'something.html')
# 6.【响应】 浏览器重定向
return redirect("https://www.baidu.com/")
案例:用户登录
在提交表单中加入CSRFtoken

