在python虚拟环境下学习和使用Django

目录

在python的terminal中激活虚拟机但是报错

打开python的编译器权限管理

配置python的虚拟环境并下载django

django默认目录的介绍

django中的app概念

创建app


在python的terminal中激活虚拟机但是报错

如下图

打开python的编译器权限管理

用管理员权限在powershell里找到文件夹,并打开编译器的权限(python默认关闭编译器权限)

配置python的虚拟环境并下载django

django默认目录的介绍

manage.py:最重要!项目的管理、启动项目、创建app、数据管理(不用自己修改,但是后面会使用)

asgi.py(异步)和wsgi.py(同步)都用来接收网络请求,也不用自己编写

url.py写url和python函数的对应关系--常常操作的文件

settings.py--配置文件(连接数据库、注册app等的时候使用)常常操作的文件

django中的app概念

一个项目下可以有多个app,但是一般就一个。不同的app具备不同的功能,具有各自独立的函数、数据库等等(app的类型中就包含API)

创建app

(pythonProject) PS E:\pythonProject\pythonProject> django-admin startapp app01

app01是app的名称

创建成功之后,目录如下:

展开app目录如下:

app中的目录结构

apps.py(app启动的类),

migrations(用python修改数据库字段时,将日志记录在此处),

tests.py(做单元测试),

admin.py(django默认提供了admin后台管理,自己测试往里面录数据的时候使用,一般不适用)

上述都是固定的,不用动;

下面都是经常改动的:

views.py(重要)url.py中会写url与函数的对应关系,url执行的函数,在此处定义

models.py(重要)  专门对数据库进行操作

运行django时,要确保app已注册(在settings.py中)

步骤

1、打开app01->apps.py。看到红框中的内容,复制下来

2、找到 ->settings.py中的INSTALLED_APPS函数

3、添加app01的注册

在其中加上这段代码(跟android很像)

 'app01.apps.App01Config'

在urls.py中编写url和视图函数的对应关系

在urls.py中,编写url,path()中写的就是url的一个后缀

当访问这个url的时候,程序会在app01的views.py中,找index函数。(函数一般写在app的views.py中。)上面那条被注释掉的意思是,当访问后缀为admin/的url时,程序会去访问并执行admin.site中名字为urls的函数。当然,要记得从app01导入views

在app01->views.py中编写对应的index函数

导包,写一个最简单的函数。访问了urls.py中定义的网址后,用户的浏览器界面上就会出现“欢迎使用”四个字。

启动django项目

可以通过在Terminal中输入命令行启动

python manage.py runserver

如下图:

但是第一次报错

ImportError: Couldn’t import Django. Are you sure it’s installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

说我无法导入Django包,在网上查了一下,说是因为没有成功激活虚拟环境,但是我明明记得我是激活了的。于是,本着 Tao of CS:重启解决95%的问题,重装解决99%的问题,重买解决100%的问题。我新开了一个Terminal再次输入命令运行。结果告诉我编解码有问题。其实就是python程序中使用了UTF-8编码,而没有在脚本上申明要使用UTF-8编码。说的更加直接一点,就是用了中文字符,一般我们习惯使用中文作为注释。只需要在python脚本程序中,主动申明我们使用UTF-8编码方式。

SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xbb in position 0: invalid start byte

这个很好办啊,就找到上面提示的文件,在前面加上这两句,告诉它是用utf-8编解码就行了。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

然后再新建一个Terminal。输入命令,就得到了——

Django,启动!

接下来根据那个蓝色的网址,去访问一下。会看到一个web界面,它的url就是蓝色的那一串,但是会提示

很简单,在url后面加上/index/就可以了

成功显示出我们之前在views.py中写的函数

提示有18个未应用的迁移

18个未应用的迁移。在应用程序迁移之前,您的项目可能无法正常工作:管理员、身份验证、内容类型、会话。
运行“python管理”。py migrate’来应用它们。

解决方案也很简单,人家已经给提示了。照着输入即可:(得到一堆OK)

最后再次启动runserver

OK了

停止运行,按“Ctrl+C”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值