前言:书接上回,认识了Python项目环境,那么开始做一些案例了,笔者是Java出身,接触的也大都是web项目,那么Python的web项目有哪些呢?了解了一下有很多,37个之多,有 Django 框架 Flask 框架Pyramid 框架web.py 框架 Tornado 框架TurboGears 框架…各种各样吧。所以学习的话也是推荐排名靠前的,各个框架的优缺点不做展开讲解
1.安装django
安装django可以在两种环境安装,前文已经说过,可以在全局环境下安装,也可以在激活的虚拟环境下安装。
c:python
- python.exe
- Scripts
- pip.exe
- django-admin.exe 【工具,创建django项目中的文件和文件夹】
- Lib
- 内置模块
- site-packages
- openpyxl
- python-docx
- flask
- django 【框架的源码】
2.创建项目
2.1 在终端
打开终端。激活虚拟环境,进入到myenv目录下的Scripts文件夹,输入activate即可
django-admin startproject HelloWorld
2.2 Pycharm
3、项目介绍
使用 django–admin 来创建 HelloWorld 项目:
django–admin startproject HelloWorld
默认项目的文件介绍:
HelloWorld
├── manage.py 【项目的管理,启动项目、创建app、数据管理】【不要动】【***常常用***】
└── HelloWorld
├── __init__.py
├── settings.py 【项目配置】 【***常常修改***】
├── urls.py 【URL和函数的对应关系】【***常常修改***】
├── asgi.py 【接收网络请求】【不要动】
└── wsgi.py 【接收网络请求】【不要动】
- HelloWorld: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- HelloWorld/settings.py: 该 Django 项目的设置/配置。
- HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站“目录
- HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
外层的HelloWorld/目录与Django无关,只是你项目的容器,可以任意重命名。
manage.py:一个命令行工具,管理Django的交互脚本。
内层的HelloWorld/目录是真正的项目文件包裹目录,它的名字是你引用内部文件的Python包名,例如:HelloWorld.urls。
HelloWorld/settings.py:项目的配置文件。非常重要!
HelloWorld/urls.py:路由文件,所有的任务都是从这里开始分配,相当于Django驱动站点的目录。非常重要!
HelloWorld/wsgi.py:一个基于WSGI的web服务器进入点,提供底层的网络通信功能,通常不用关心。
HelloWorld/asgi.py:一个基于ASGI的web服务器进入点,提供异步的网络通信功能,通常不用关心。
4、启动服务
Django会以127.0.0.1:8000这个默认配置启动开发服务器。如果你想指定端口,请在命令中显示给出:python manage.py runserver 8080
如果想修改服务器的ip地址,请按下面的方式运行命令:python manage.py runserver 0:8000
0 是 0.0.0.0 的简写,Django将运行在0.0.0.0:8000上,整个局域网内都将可以访问站点,而不只是是本机(这其中可能还需要做一些配置和网络测试)
5、创建应用(app)
创建应用,在 Django 中,每一个应用(app)都是一个 Python 包,并且遵循着相同的约定,app的存放位置可以是任何地点,但是通常都将它们放在与manage.py脚本同级的目录下,这样方便导入文件。
5.1、创建应用
进入HelloWorld 项目根目录,确保与manage.py文件处于同一级,输入下述命令:
python manage.py startapp booktest 或者 django–admin startapp myapp
│ admin.py [固定,不用动] django默认提供了admin后台管理
│ apps.py [固定,不用动] app启动类
│ models.py 【*** 重要 ****】对数据库操作
│ tests.py [固定,不用动] 单元测试
│ views.py 【*** 重要 ****】 函数
│ __init__.py
└───migrations [固定,不用动] 数据库变更记录
__init__.py
5.2 在settings.py 里面配置信息注册子应用
注意:
5.3模型类models.py
from django.db import models
# Create your models here.
class BlogPost(models.Model):
title = models.CharField(max_length=150) #博客的标题
body = models.TextField() #博客正文
timestamp = models.DateTimeField() #博客创建时间
5.4设置数据库
打开HelloWorld 目录下的settings.py文件,找到DATABASES元组,如下图所示,默认使用SQlite。
更改mypro目录下的settings.py文件,找到DATABASES元组,改为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #改为MySQL数据库
'NAME': 'mydb', #数据库名称
'USER': 'root', #数据库用户名
'PASSWORD': '123abc', #数据库用户密码
'HOST': '127.0.0.1', #主机地址
'PORT': '3306', #端口号
}
}
在Django中使用MySQL数据库之前,要先确保已经建立了数据库mydb,并且上图使用的用户名和密码是已经存在的。
5.5 创建数据库表,生成编辑文件
首先创建数据库表,生成编辑文件(根据模型类生成编译文件)命令如下:
python manage.py makemigrations
5.6 迁移(实际生成表)
5.7使用Navicat查看数据库
5.8 管理界面本地化
此处改为中国化(亚洲/上海时区)打开helloworld项目下的settings.py文件,找到如下设置
修改以下两项:
LANGUAGE_CODE = ‘zh-Hans’
5.9 创建超级用户admin
python manage.py createsuperuser
5.10 使用admin
admin为自动后台管理,再次打开settings.py文件,找到INSTALLED_APPS这个元组,观察其第一行的‘django.contirb.admin‘是否被注释(旧版好像会被注释,需要自己去掉注释,新版不会)。
确认admin设置正确后,需要添加在admin页面显示的模型,即注册BlogPost。打开booktest下的admin,py文件
from django.contrib import admin #导入admin
from booktest import models #导入数据模型
admin.site.register(models.BlogPost) #使用admin注册BlogPost类
6、启动应用服务器
打开浏览器,输入链接:http://127.0.0.1:8000/admin
注意,如果你的blog界面此时没有添加的类,可能的问题为:1.没有在settings.py的INSTALLED_APPS中添加应用。2.应用的models.py中有错误 。3.没有在admin.py中进行模型注册。
下一篇分享Django模板使用笔记呢还是Django集成Redis笔记呢?留个悬念哈哈哈
原文地址:https://blog.csdn.net/sinat_38259539/article/details/134726272
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_26384.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!