Python编程+Django框架web网站开发(2)

1.cmd创建django项目

  • 使用管理员权限的cmd进入
  • 切换当前目录
    使用pushd命令来切换到指定的目录
    格式:pushd 指定目录
    文件夹所在地
  • 创建django项目,比如项目名称 website
django-admin startproject website

在这里插入图片描述

  • 输入dir查看当前文件夹内部文件
    在这里插入图片描述

  • 在项目中创建一个应用,往往是一个开发的网站小程序 比如downloadweb

使用cd命令进入文件夹

cd website
python manage.py startapp downloadweb

在这里插入图片描述

  • 查看创建的应用是否成功
    使用下面的命令可以打开web服务器
python manage.py runserver

在这里插入图片描述
在网站输入http://127.0.0.1:8000/ 看到这个就代表成功了
在这里插入图片描述

2.理解Django项目的结构

在这里插入图片描述

  • downloadweb创建的web应用程序
  • website创建的django项目管理文件夹
  • db.sqlite3本地小型数据库文件,在app里面用到
  • manage.py项目的管理文件

在website下的文件
专题下的第一篇文章已经详细介绍过了asgi和wsgi
Asgi(异步服务器网关接口文件) 和wsgi (web服务器网关接口)文件
asgi:基于wsgi去开发的应用
settings.py项目配置文件。配置上传文件夹路径、应用、第三方应用等
urls.py路由配置文件
在这里插入图片描述

downloadweb创建的web应用程序
models.py数据库模型文件(是和数据库数据表关联的)
views.py视图逻辑文件,将数据调用模板去渲染到浏览器上。
在这里插入图片描述

3.默认后台数据库的创建和分析

安装SQLiteStudio并运行

SQLiteStudio下载地址

  • 添加数据库

通过数据库管理工具打开db.sqlite3数据库文件,尝试打开数据库表。
这个sqlite类似mysql数据库,是一个轻量级小型关系型数据库。
在这里插入图片描述
在这里插入图片描述

  • 访问网站后台
    地址:http://127.0.0.1:8000/admin/
    报错:
    在这里插入图片描述
    根据提示,其实就是要求我们建立网站后台相应的数据表。

创建后台数据库账号并登录默认的框架后台

  • 建表 (django框架自带的后台数据库表)
    跳转掉相应的目录文件 website
python manage.py help   # 看有什么操作
python manage.py migrate  #建表操作

在这里插入图片描述
然后刷新数据库表
在这里插入图片描述
在这里插入图片描述

  • 创建登录账号
python manage.py createsuperuser

在这里插入图片描述
回到http://127.0.0.1:8000/admin/, 登录成功
在这里插入图片描述

4.在Pytharm专业版上导入运行

在这里插入图片描述
并在File-settings里面添加下Django配置
在这里插入图片描述
在右上角点击运行
在这里插入图片描述

修改settings配置文件实现网站语言切换

LANGUAGE_CODE = 'zh-hans'   #简体中文   繁体中文是zh-hant

注意:LANGUAGE_CODE是不区分大小写的
在这里插入图片描述
刷新
在这里插入图片描述

5.网页路由修改

Django框架的路由: 其实就是用户访问网页时候的url网址,是由框架文件中的url.py文件决定的。

path('admin/', admin.site.urls),
	 #path( 网页路径的字符串,   这个路径对应的网页)
     #注意: 这个路径对应的网页实质就是一个python函数

在这里插入图片描述

自定义页面访问函数

网页上面用户可以访问的页面呈现什么功能,都是通过view.py这个文件
理解view就是Django框架中的试图(网页上面可以看到的内容),在view.py文件里自定义函数

def index(request):
    return HttpResponse("这是第一个<a href='https://www.lyu.edu.cn/main.htm'>Demo网站页面。</a>")

先导入一个HttpResponse类,作用就是可以将后台的内容输出到浏览器上。
以后在自定义函数的时候,加上request这个参数,这个就是去获取网页上面的内容传给后台的数据。

在这里插入图片描述

如何关联视图

path('', downloadweb.views.index),

downloadweb.views.index 参数分别是应用名称.文件名称.函数名称
注意: import downloadweb.views自动生成了。
在这里插入图片描述