IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django笔记 -> 正文阅读

[Python知识库]Django笔记

学习网址:https://www.w3cschool.cn/django/django-first-app.html

1.使用 django-admin.py 来创建名为myweb的项目:

Terminal运行 X:/当前目录 > django-admin startproject xxx

创建完成后将在当前目录下创建myweb项目文件,进入该项目文件内,设置setting.py 例:DATABASES(记得提前创建好数据库名)
在setting.py同目录下的__init__.py文件中加入:

import pymysql
pymysql.install_as_MySQLdb()
报错?:

‘django-admin’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。

解决方法:

卸载django:pip uninstall django
以管理员身份运行cmd,
重新安装django:pip install django==9.99.99 #自选版本号

2.创建一个app模块会自动生成app文件夹,该文件夹包括几个文件:

Terminal运行 X:/xx/xxxx/myweb > python manage.py startapp myapp

即创建应用
在创建应用程序前,我们需要先进入项目目录下,此处还是以上述的 myweb 项目为例说明,命令如下:
cd myweb
当进入了 myweb 目录下后,下面就来创建“myapp”应用程序,此时,就需要使用 manage.py 来交互,命 令如下:
python manage.py startapp myapp

在目录中找到myweb项目包里面的setting.py,在INSTALLED_APPS当中注册APP模块:

INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
’myapp’
]
在包下输入命令,启动项目:
Terminal运行 X:/xxx/myweb> python manage.py runserver ip port #不写ip、port 默认127.0.0.1:8000
浏览器访问服务器:
http://127.0.0.1:8000/

3.定义模型 (myapp文件下的models.py)

创建模型类,即定义表:

from django.db import models


# Create your models here.
class Computer(models.Model):
	'''定义电脑类'''
    cbrand = models.CharField(max_length=10)
    cprice = models.FloatField()
    cpub_time = models.DateField()
    cfactory_id = models.ForeignKey('FactoryInfo')  # 外键连接另一张表

    def __str__(self):
        return self.cbrand


class FactoryInfo(models.Model):
	'''定义厂家类'''
    fname = models.CharField(max_length=10)
    flisted = models.BooleanField()
    fcontent = models.CharField(max_length=100)

    # fcomputer = models.ForeignKey()
    def __str__(self):
        return self.fname + ":" + self.fcontent

4.生成数据表

在这里要注意的是,上述创建的应用“myapp”是否已成功加入到 settings.py 文件中的 INSTALLED_APPS 列表, 若已加入,则表名此应用已激活或该模型已激活。接下来,只需按照下列步骤完成即可成功生成数据表,如下:

第 1 步 生成迁移文件:

假定已在 myweb 目录下,则执行下列命令可用于生成迁移文件,并可根据模型类来自动生成 SQL 语句,命令如下:
Terminal运行 X:/xxx/myweb> python manage.py makemigrations

报错?:

conn.encoders[SafeBytes] = conn.encoders[bytes]
KeyError: <class ‘bytes’>

解决方法:

在setting.py同目录下的__init__.py文件中加入:

import pymysql
pymysql.install_as_MySQLdb()

第 2 步 生成数据表:

执行如下的迁移命令,并用于执行 SQL 语句来生成数据表,命令如下:
Terminal运行 X:/xxx/myweb>python manage.py migrate

5.对数据的增删查改

I.进入 Python Shell 脚本,可使用如下命令:

Terminal运行 X:/xxx/myweb>python manage.py shell
若要对电脑表 Computer 的数据进行增删查改操作,则需要简要了解以下几个操作函数,如下:
首先,若要完成下列的数据操作过程,则需导入如下包(操作表前,导入该表):
from myapp.models import FactoryInfo
from datetime import date

II.修改表

插入数据

例如:对myapp文件里models.py文件中创建好的FactoryInfo表进行修改(见步骤3.)
在这里插入图片描述
记得 对象.save()
可能报错:
创建数据库的编码格式出错,不支持中文数据
创建数据库时记得指定编码格式
create database DBNAME character set [utf8,gbk…]

查询数据

条件查询一条
查询表内所有
(查询前需先导入import该表)
在这里插入图片描述

修改数据

对象=查询条件
对象.属性=新值

删除数据

对象.delete()
在这里插入图片描述

6.创建用户

Django创建管理员账号
Terminal运行 X:/xxx/myweb> python manage.py createsuperuser # 创建一个超级管理员账号
输入账号:admin
输入邮箱:123456789@qq.com
输入密码:test123456 #需二次确认
Terminal运行 X:/xxx/myweb> python manage.py runserver #运行服务器
访问登录界面:http://127.0.0.1:8000/admin/

可在setting.py设置网页显示语言,时间区间

##### LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-Hans'  # 中文

##### TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'  # 上海时区

7.注册模型(admin.py网页显示创建的数据表)

# Register your models here.
from .models import Computer, FactoryInfo


# 定义后台 展示(格式)设置
class ComputerAdmin(admin.ModelAdmin):
    list_display = ['id', 'cbrand', 'cprice', 'cpub_time', 'cfactory_id']
class FactoryAdmin(admin.ModelAdmin):
    list_display = ['fname', 'flisted', 'fcontent']
# 注册模型
admin.site.register(Computer, ComputerAdmin)
admin.site.register(FactoryInfo, FactoryAdmin)

8.搜索

search_f=[’’]

9.视图简介(自定义显示内容)

I.myapp文件下设置views.py (③.对应视图)

from django.shortcuts import render  
from django.http import HttpResponse  # HttpResponse渲染
# Create your views here.
def index(request):
    return HttpResponse("myapp/index")
    # return render([])  # 传递三个值(request,文件url,渲染值)
def welcome(request):
    return HttpResponse("myapp/welcome")

II.myapp文件下创建urls.py (②.分路由发送对应视图)

from django.conf.urls import url

from .views import *  # 分路由引入视图

# myapp分路由
urlpatterns = [
    url(r'^index/', index),
    url(r'^welcome/', welcome)
]

III.主文件下设置urls.py (客户端访问顺序:①.主路由进入myapp里的分路由)

from django.conf.urls import url
from django.contrib import admin

from .views import hello  # 主路由引入视图(创建视图如I.)
# 用include包含分路由
from django.conf.urls import include

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^hello/', hello),  # 返回主路由下的视图
    url(r'^myapp/', include('myapp.urls'))  # 主路由进入myapp分路由(返回分路由下视图)

]
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 15:53:53  更:2021-12-14 15:55:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:42:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码