Django实践-01入门

简介: Django实践-01入门

image.png


Django入门与构建


官网:https://www.djangoproject.com/

博客:https://www.liujiangblog.com/


Django介绍


Django是一个免费的开源的python WEB框架,包括足够用的中间件,用户可以基于Django在几个小时内完成web应用程序从概念到启动。

Django减少了Web开发中不必要的开销,对常用的设计和开发模式进行了封装,并对MVC架构提供了支持(Django中称之为MTV架构)。MVC是软件系统开发领域中一种放之四海而皆准的架构,它将系统中的组件分为模型(Model)、视图(View)和控制器(Controller)三个部分并借此实现模型(数据)和视图(显示)的解耦合。由于模型和视图进行了分离,所以需要一个中间人将解耦合的模型和视图联系起来,扮演这个角色的就是控制器。

稍具规模的软件系统都会使用MVC架构(或者是从MVC演进出的其他架构),Django项目中我们称之为MTV,MTV中的M跟MVC中的M没有区别,就是代表数据的模型,T代表了网页模板(显示数据的视图),而V代表了视图函数,在Django框架中,视图函数views.py和Django框架本身一起扮演了MVC中C的角色。

7ec67b72efc847067ffa204c3dc4b476_ba53c62606cf419e9f4648574e85797d.png


conda切换环境(看需要)


查看conda的环境


conda env list

输出为:

a173103aa205bab5ce56a99afed9b8b7_12d8d1e5bb9c46a6a10b7451a3997d17.png


进入到conda命令终端

D:\ProgramData\Anaconda3\Scripts\activate

输出为:

3619dffef0c9a66a85e5f3ed86c7b586_da153de7c39c44ea81f51b94e3e52c85.png


切换环境


conda activate py10

输出为:


2effde23a5a997fdac7002b7840316a3_fc38da178cd54b4fa2e33837e26fe665.png

安装虚拟环境


基于 virtualenv

1.安装虚拟环境库

pip install virtualenv

2.执行新建虚拟命令

virtualenv vip3newenv

会在VIP3出现一个env的虚拟python环境

3.激活/退出虚拟环境

activate.bat

退出虚拟环境

deactivate.bat

4.确定python解释器的位置:

方法一(指出解释器的位置和名称):

在shell命令行里输入:

import sys
print(sys.executable)  #解释器

方法二(如果只是想查看路径的话):

在shell命令行里输入:

import sys
import os
print(os.path.dirname(sys.executable))  #解释器所在的文件夹

基于venv

1.创建虚拟环境

python -m venv vip3-django

输出为:


c120500f3ce0d66a445ba2a74017c985_adf4abe087a4418a90281b005e50c661.png

2.激活虚拟环境

vip3-django\Scripts\activate

3.安装依赖

python -m pip install django

4.关闭虚拟环境

deactivate


Django项目构建


Django项目安装:

安装django

python -m pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple

创建项目

django-admin startproject 你的项目名字
django-admin startproject djangoproject

最顶层的文件夹djangoproject是Python项目文件夹,这个文件夹的名字并不重要,Django项目也不关心这个文件夹叫什么名字。

该文件夹下有一个同名的文件夹,它是Django项目文件夹,其中包含了__init__.py、settings.py、urls.py、wsgi.py四个文件,与名为djangoproject的Django项目文件夹同级的还有一个名为manage.py 的文件,这些文件的作用如下所示:


  • djangoproject/init.py:空文件,告诉Python解释器这个目录应该被视为一个Python的包。
  • djangoproject/settings.py:Django项目的配置文件。
  • djangoproject/urls.py:Django项目的URL映射声明,就像是网站的“目录”。
  • djangoproject/wsgi.py:项目运行在WSGI兼容Web服务器上的入口文件。
  • manage.py: 管理Django项目的脚本程序。


启动项目

python djangoproject\manage.py runserver

在浏览器网址输入

127.0.0.1:8000

如果看到如下页面则代表安装成功

483da349921ac913ff2e6dc7be1c6c0d_0867b07244414264863488da951c3ed1.png


说明:


  1. 刚刚启动的Django自带的服务器只能用于开发和测试环境,因为这个服务器是纯Python编写的轻量级Web服务器,不适合在生产环境中使用。
  2. 如果修改了代码,不需要为了让修改的代码生效而重新启动Django自带的服务器。但是,在添加新的项目文件时,该服务器不会自动重新加载,这个时候就得手动重启服务器。
  3. 可以在终端中通过python manage.py help命令查看Django管理脚本程序可用的命令参数。
  4. 使用python manage.py runserver启动服务器时,可以在后面添加参数来指定IP地址和端口号,默认情况下启动的服务器将运行在本机的8000端口。
  5. 在终端中运行的服务器,可以通过Ctrl+C来停止它 。通过PyCharm的“运行配置”运行的服务器直接点击窗口上的关闭按钮就可以终止服务器的运行。
  6. 不能在同一个端口上启动多个服务器,因为会导致地址的冲突(端口是对IP地址的扩展,也是计算机网络地址的一部分)。


创建应用

定位到djangoproject项目下

cd djangoproject

创建app,执行下面的命令:

django-admin startapp 你的app名字
django-admin startapp app1

到此目录如下

2018e72d0f0fe04c54e5f4cc635f2781_39f301bbd45a48579e02fc28250c1403.png


  • __init__.py:一个空文件,告诉Python解释器这个目录应该被视为一个Python的包。
  • admin.py:可以用来注册模型,用于在Django框架自带的管理后台中管理模型。
  • apps.py:当前应用的配置文件。
  • migrations:存放与模型有关的数据库迁移信息。
  • __init__.py:一个空文件,告诉Python解释器这个目录应该被视为一个Python的包。
  • models.py:存放应用的数据模型(MTV中的M)。
  • tests.py:包含测试应用各项功能的测试类和测试函数。
  • views.py:处理用户HTTP请求并返回HTTP响应的函数或类(MTV中的V)。


之后再在项目中添加两个文件夹:templates和static,templates存放html文件,static存放静态文件,此处建议static下再新建三个文件夹:js,css和images,分别存放js文件,css文件和图片。


Django运行测试

1.在settings.py中修改设置:

先导入os库:import os

再修改配置文件如下:


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app1.apps.App1Config', #新建的应用
]

ee1577e529313348b2f11d44397fa977_c28c5901d1b147bf8d70914327e0c22f.png


2.在settings.py中templates修改设置:


'DIRS': [os.path.join(BASE_DIR,'templates')],# 指定templates的路径

2830c836f2290d4008ed614b6625546f_c636452fbe9f4d7bba2692ed57d36439.png


3.在settings.py中修改时区语言:


#LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'
#TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'


4.在settings.py中修改静态路径


STATIC_URL = 'static/'
# 指定静态文件的存放路径,新增部分
STATICFILES_DIRS=[
    os.path.join(BASE_DIR,'static'),
    os.path.join(BASE_DIR),
]

5.在templates路径下创建index.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p>hello world</p>
</body>
</html>

6.在app1的views.py中创建后台逻辑:


def index(request):
    return render(request,'index.html')

af0f4734871b3c020f964b9239b8c506_7051d4121d284e5085882241bb4f5c76.png

7.在urls.py中添加路由信息


from app1 import views # 新增
urlpatterns = [
    path('admin/', admin.site.urls),
    path('index',views.index) # 新增 对于index的访问,转发到views.index函数,进行处理
]

8.再次运行,就可以查看到相关页面了


python djangoproject/manage.py runserver

访问:

http://127.0.0.1:8000/index

输出为:

9a559e4b0863299ea9e13b24e7e207dc_44359ed0683d41d5b1f5a914cfbb93ac.png


总结


本文主要是Django系列博客。包括虚拟环境安装,Django安装,配置修改与运行测试。


创建工程

创建app1

配置setting.py :配置app,templates路径 ,时区 ,语言, static路径

在templates创建html页面

在app1下的views.py创建函数,函数返回指定页面

在urls.py中配置路由,前端访问与views中函数的对应

传参:

后端通过{key:value}

前端接受: {{ key }}

相关文章
|
2月前
|
存储 缓存 NoSQL
深入理解Django与Redis的集成实践
深入理解Django与Redis的集成实践
62 0
|
18天前
|
Java API 数据库
Django:从入门到精通
【11月更文挑战第18天】Django是一个由Python编写的高级Web应用框架,以其简洁性、安全性和高效性而闻名。Django最初由Adrian Holovaty和Simon Willison于2003年开发,旨在简化Web应用的开发过程。作为一个开放源代码项目,Django迅速吸引了大量的开发者和用户,成为了Python Web开发领域的重要工具之一。
39 1
|
2月前
|
存储 Shell 数据库
Python编程--Django入门:用户账户(二)
Python编程--Django入门:用户账户(二)
20 2
|
2月前
|
存储 数据库 Python
Python编程--Django入门:用户账户(一)
Python编程--Django入门:用户账户(一)
20 1
|
4月前
|
前端开发 关系型数据库 Python
Django入门到放弃之分页器
Django入门到放弃之分页器
|
4月前
|
数据库 开发者 Java
颠覆传统开发:Hibernate与Spring Boot的集成,让你的开发效率飞跃式提升!
【8月更文挑战第31天】在 Java 开发中,Spring Boot 和 Hibernate 已成为许多开发者的首选技术栈。Spring Boot 简化了配置和部署过程,而 Hibernate 则是一个强大的 ORM 框架,用于管理数据库交互。将两者结合使用,可以极大提升开发效率并构建高性能的现代 Java 应用。本文将通过代码示例展示如何在 Spring Boot 项目中集成 Hibernate,并实现基本的数据库操作,包括添加依赖、配置数据源、创建实体类和仓库接口,以及在服务层和控制器中处理 HTTP 请求。这种组合不仅简化了配置,还提供了一套强大的工具来快速开发现代 Java 应用程序。
228 0
|
4月前
|
开发框架 安全 数据库
解锁Django框架神秘面纱!从入门到实战,掌握这些技巧,让你的Web应用秒变高效神器!
【8月更文挑战第31天】Django 是 Python 的明星 Web 开发框架,以其高效、安全及可扩展性著称,适用于构建各类 Web 应用。本文从 Django 基础概念出发,介绍其 MTV 架构,涵盖模型(Model)、模板(Template)、视图(View)等核心组件,并通过示例代码展示实际应用。此外,还将探讨路由配置、管理界面及实战技巧,帮助读者全面掌握 Django,为高效 Web 开发打下坚实基础。
55 0
|
4月前
|
关系型数据库 MySQL 机器人
Django入门到放弃之数据库配置
Django入门到放弃之数据库配置
|
4月前
|
缓存 中间件 数据库
Django入门到放弃之缓存及信号机制
Django入门到放弃之缓存及信号机制
|
4月前
|
前端开发 数据库 数据安全/隐私保护
Django入门到放弃之Auth模块
Django入门到放弃之Auth模块