本文介绍: 所以学习的话也是推荐排名靠前的,各个框架优缺点不做展开讲解admin自动后台管理,再次打开settings.py文件,找到INSTALLED_APPS这个元组,观察其第一行的‘django.contirb.admin是否注释(旧版好像会被注释需要自己去掉注释,新版不会)。创建应用,在 Django 中,每一个应用app)都是一个 Python 包,并且遵循着相同的约定,app存放位置可以是任何地点,但是通常都将它们放在与manage.py脚本同级目录下,这样方便导入文件

前言:书接上回,认识了Python项目环境,那么开始做一些案例了,笔者是Java出身,接触的也大都是web项目,那么Pythonweb项目哪些呢?了解了一下有很多,37个之多,有 Django 框架 Flask 框架Pyramid 框架web.py 框架 Tornado 框架TurboGears 框架…各种各样吧。所以学习的话也是推荐排名靠前的,各个框架的优缺点不做展开讲解

目录总结

1.安装django

安装django可以在两种环境安装,前文已经说过,可以全局环境下安装,也可以激活虚拟环境下安装。 

pip install django

安装之后查看环境目录

c:python
	- python.exe
	- Scripts
		- pip.exe
		- django-admin.exe工具创建django项目中的文件文件夹】
	- Lib
		- 内置模块
		- site-packages
			- openpyxl
			- python-docx
			- flask
			- django         【框架的源码

2.创建项目

django项目会有一些默认文件和默认的文件夹。

2.1 在终端

打开终端。激活虚拟环境进入myenv目录下的Scripts文件夹,输入activate即可

使用djangoadmin命令创建项目

django-admin startproject HelloWorld

2.2 Pycharm

使用IDE创建也是可以的,根据工具进行创建

特殊说明

命令行,创建的项目标准的。

3、项目介绍

使用 djangoadmin 来创建 HelloWorld 项目

djangoadmin startproject HelloWorld

创建完成后我们可以查看下项目的目录结构

默认项目的文件介绍:
HelloWorld
├── manage.py         【项目的管理启动项目、创建app数据管理】【不要动】【***常常用***】
└── HelloWorld
    ├── __init__.py
    ├── settings.py    【项目配置】           【***常常修改***】
    ├── urls.py        【URL和函数对应关系】【***常常修改***】
    ├── asgi.py接收网络请求】【不要动】
    └── wsgi.py        【接收网络请求】【不要动】

目录说明

文件和目录解释

外层的HelloWorld/目录与Django无关,只是你项目的容器可以任意重命名

manage.py:一个命令行工具,管理Django的交互脚本

内层的HelloWorld/目录是真正的项目文件包裹目录,它的名字是你引用内部文件的Python包名例如HelloWorld.urls

HelloWorld/init.py:一个定义包的空文件。

HelloWorld/settings.py:项目的配置文件非常重要!

HelloWorld/urls.py:路由文件,所有的任务都是从这里开始分配,相当于Django驱动站点的目录。非常重要!

HelloWorld/wsgi.py:一个基于WSGI的web服务器进入点,提供底层网络通信功能,通常不用关心。

HelloWorld/asgi.py:一个基于ASGI的web服务器进入点,提供异步网络通信功能,通常不用关心。

4、启动服务

回到项目根目录HelloWorld 运行

python manage.py runserver

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 或者 djangoadmin startapp myapp

生成的目录结构如下

│   admin.py   [固定,不用动]  django默认提供了admin后台管理apps.py    [固定,不用动] app启动类
│   models.py  【*** 重要 ****】对数据库操作tests.py    [固定,不用动] 单元测试views.py   【*** 重要 ****】 函数__init__.py
└───migrations  [固定,不用动] 数据库变更记录
    __init__.py

5.2 在settings.py 里面配置信息注册子应用

如果想要把应用在这个项目中跑起来需要将应用添加到项目中,

注意:

还是这个文件,再找到 TEMPLATES项,添加DIRS 

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设置数据库

如果使用默认的SQlite

打开HelloWorld 目录下的settings.py文件,找到DATABASES元组,如下图所示,默认使用SQlite

如果使用MySQL数据库

更改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,并且上图使用用户名密码是已经存在的。

还需在项目mypro中的_init_.py文件做修改,

下载模块pymysql,命令为:

pip install pymysql

5.5 创建数据库表,生成编辑文件

首先创建数据库表,生成编辑文件(根据模型生成编译文件)命令如下

 python manage.py makemigrations

5.6 迁移实际生成

根据编译文件去创建数据库生成表)然后执行迁移,命令如下

python manage.py migrate

5.7使用Navicat查看数据库

这里生成的表,有系统自带的,还有我们自己创建的,自己去找

Python默认的数据库sqlite3就创建出来了

使用Navicat连接查看

如果连接的是mysql则迁移之后在mysql库中也创建了表

5.8 管理界面本地

此处改为中国化(亚洲/上海时区打开helloworld项目下的settings.py文件,找到如下设置

修改以下两项:

LANGUAGE_CODE = ‘zh-Hans’

TIME_ZONE = ‘Asia/Shanghai

5.9 创建超级用户admin

在Terminal命令行输入

python manage.py createsuperuser

按照提示一步输入即可密码过于简单的会进行提示。

5.10 使用admin

admin自动后台管理,再次打开settings.py文件,找到INSTALLED_APPS这个元组,观察其第一行的‘django.contirb.admin‘是否被注释(旧版好像会被注释需要自己去掉注释,新版不会)。

确认admin设置正确后,需要添加在admin页面显示模型,即注册BlogPost。打开booktest下的admin,py文件

添加以下代码,这样admin就可以管理已经注册对象

from django.contrib import admin    #导入admin
from booktest import models           #导入数据模型
 
admin.site.register(models.BlogPost)  #使用admin注册BlogPost类

6、启动应用服务

python manage.py runserver

打开浏览器输入链接http://127.0.0.1:8000/admin

注意:此时链接地址稍有改变,需要进入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进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注