热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python从入门到编程18章:安装Django

第18章Django入门18.1建立项目要以规范的方式对项目进行描述,再建立虚拟环境,以便在其中创建项目18.1.1制定规范完整的规范详细说明了

第18章 Django 入门


18.1建立项目

要以规范的方式对项目进行描述,再建立虚拟环境,以便在其中创建项目

18.1.1 制定规范

完整的规范详细说明了项目的目标,阐述了项目的功能,并讨论了项目的外观和用户界面。
与任何良好的项目规划和商业计划书一样,规范应突出重点,帮助避免项目偏离轨道。

本次实现内容::
我们要编写一个名为“学习笔记”的Web应用程序,让用户能够记录感兴趣的主
题,并在学习每个主题的过程中添加日志条目。“学习笔记”的主页对这个网站进行描
述,并邀请用户注册或登录。用户登录后,就可创建新主题、添加新条目以及阅读既
有的条目

18.1.2 建立虚拟环境

[root@bogon ~]# cd /opt/
[root@bogon opt]# mkdir learning_log
[root@bogon opt]# cd learning_log/
[root@bogon learning_log]# pwd
/opt/learning_log
[root@bogon learning_log]# python3 -m venv ll_env
[root@bogon learning_log]# ls
ll_env
[root@bogon learning_log]# ll ll_env/
总用量 4
drwxr-xr-x 2 root root 173 10月 17 15:10 bin
drwxr-xr-x 2 root root 6 10月 17 15:10 include
drwxr-xr-x 3 root root 23 10月 17 15:10 lib
lrwxrwxrwx 1 root root 3 10月 17 15:10 lib64 -> lib
-rw-r–r-- 1 root root 84 10月 17 15:10 pyvenv.cfg
[root@bogon learning_log]#

如果可行就执行 source ll_env/bin/activate
写入linux环境变量 cd /opt/learning_log && source ll_env/bin/activate

如果服务器多个python版本,可以在使用时调用下述脚本即可

cat /opt/py3_vent.sh
#!/bin/bash
source /opt/py3/bin/activate

如果上述操作会出问题 即:

如果你使用的是较早的Python版本,或者系统没有正确地设置,不能使用模块venv,可安装
virtualenv包
pip install --user virtualenv
virtualenv ll_env
如果你的系统安装了多个Python版本,需要指定virtualenv使用的版本。例如,命令
virtualenv ll_env --python=python3创建一个使用Python 3的虚拟环境。

然后再进行环境生效source ll_env/bin/activate

要停止使用虚拟环境,可执行命令deactivate

deactivate

Windows系统配置环境

Django
下载地址 https://media.djangoproject.com/releases/3.2/Django-3.2.7.tar.gz
路径
C:\Django-3.2.7\Django-3.2.7\scripts进入项目目录,启动一个django项目
PS E:\person\Django> C:\Python37\python.exe C:\Django-3.2.7\Django-3.2.7\django\bin\django-admin.py startproject HelloWorld PS E:\person> cd E:\person\chapter\web_application\learning_log\
PS E:\person\chapter\web_application\learning_log> & C:/Python37/python.exe -m venv ll_env
PS E:\person\chapter\web_application\learning_log> E:\person\chapter\web_application\learning_log\ll_env\Scripts\activate
PS E:\person\chapter\web_application\learning_log> & C:/Python37/python.exe -m pip install Django

18.1.6 在Django中创建项目

linux下
(ll_env) [root@bogon learning_log]# django-admin.py startproject learning_log .
(ll_env) [root@bogon learning_log]# ll
总用量 4
drwxr-xr-x 2 root root 89 10月 17 15:29 learning_log
drwxr-xr-x 5 root root 74 10月 17 15:10 ll_env
-rwxr-xr-x 1 root root 668 10月 17 15:29 manage.pywindows下PS E:\person\chapter\web_application\learning_log> C:\Python37\python.exe C:\Django-3.2.7\Django-3.2.7\django\bin\django-admin.py startproject learning_log .

18.1.7 创建数据库

linux
查看当前sqlite版本
(ll_env) [root@bogon tmp]# sqlite3 -version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
(ll_env) [root@bogon sqlite-autoconf-3090100]# rpm -ql sqlite-3.7.17-8.el7_7.1.x86_64
/usr/bin/sqlite3
/usr/lib64/libsqlite3.so.0
/usr/lib64/libsqlite3.so.0.8.6
/usr/share/doc/sqlite-3.7.17
/usr/share/doc/sqlite-3.7.17/README
/usr/share/man/man1/sqlite3.1.gz##### 安装
wget https://www.sqlite.org/2015/sqlite-autoconf-3090100.tar.gz --no-check-certificate
(ll_env) [root@bogon tmp]# tar xf sqlite-autoconf-3090100.tar.gz
(ll_env) [root@bogon tmp]# cd sqlite-autoconf-3090100
(ll_env) [root@bogon sqlite-autoconf-3090100]# ./configure --prefix=/usr/local/sqlite3
(ll_env) [root@bogon sqlite-autoconf-3090100]# make && make install
##### 替换
(ll_env) [root@bogon sqlite-autoconf-3090100]# mv /usr/bin/sqlite3 /usr/bin/sqlite3_3.7bak
(ll_env) [root@bogon sqlite-autoconf-3090100]# ln -s /usr/local/sqlite3/bin/sqlite3 /usr/bin/sqlite3
##### 创建数据库:: 如果报错请修改报错文件中限制版本的函数,我安装了3.9,但是执行时还是去找3.7版本的sqlite
python manage.py migrate
(ll_env) [root@localhost learning_log]# ll
总用量 44
-rw-r--r-- 1 root root 40960 10月 17 16:39 db.sqlite3
drwxr-xr-x 3 root root 108 10月 17 15:47 learning_log
drwxr-xr-x 5 root root 74 10月 17 15:10 ll_env
-rwxr-xr-x 1 root root 668 10月 17 15:29 manage.py
当然,也可以在linux上编写环境变量
export PATH=$HOME/opt/sqlite/bin:$PATH
export LD_LIBRARY_PATH=$HOME/opt/sqlite/lib
export LD_RUN_PATH=$HOME/opt/sqlite/libwindows
PS E:\person\chapter\web_application\learning_log> C:\Python37\python.exe E:\person\chapter\web_application\learning_log\learning_log\manage.py migrate

18.1.8 查看项目

linux
(ll_env) [root@localhost learning_log]# python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...System check identified no issues (0 silenced).
October 17, 2021 - 08:40:40
Django version 3.2.8, using settings 'learning_log.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.windows
PS E:\person\chapter\web_application\learning_log> C:\Python37\python.exe E:\person\chapter\web_application\learning_log\learning_log\manage.py runserver

18.2


推荐阅读
  • 本文作为“实现简易版Spring系列”的第五篇,继前文深入探讨了Spring框架的核心技术之一——控制反转(IoC)之后,将重点转向另一个关键技术——面向切面编程(AOP)。对于使用Spring框架进行开发的开发者来说,AOP是一个不可或缺的概念。了解AOP的背景及其基本原理,对于掌握这一技术至关重要。本文将通过具体示例,详细解析AOP的实现机制,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 本文将介绍一种扩展的ASP.NET MVC三层架构框架,并通过使用StructureMap实现依赖注入,以降低代码间的耦合度。该方法不仅能够提高代码的可维护性和可测试性,还能增强系统的灵活性和扩展性。通过具体实践案例,详细阐述了如何在实际开发中有效应用这一技术。 ... [详细]
  • MySQL日志分析在应急响应中的应用与优化策略
    在应急响应中,MySQL日志分析对于检测和应对数据库攻击具有重要意义。常见的攻击手段包括弱口令、SQL注入、权限提升和备份数据窃取。通过对MySQL日志的深入分析,不仅可以及时发现潜在的攻击行为,还能详细还原攻击过程并追踪攻击源头。此外,优化日志记录和分析策略,能够提高安全响应效率,增强系统的整体安全性。 ... [详细]
  • Prim算法在处理稠密图时表现出色,尤其适用于边数远多于顶点数的情形。传统实现的时间复杂度为 \(O(n^2)\),但通过引入优先队列进行优化,可以在点数为 \(m\)、边数为 \(n\) 的情况下显著降低时间复杂度,提高算法效率。这种优化方法不仅能够加速最小生成树的构建过程,还能在大规模数据集上保持良好的性能表现。 ... [详细]
  • 从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南
    从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • Spring框架入门指南:专为新手打造的详细学习笔记
    Spring框架是Java Web开发中广泛应用的轻量级应用框架,以其卓越的功能和出色的性能赢得了广大开发者的青睐。本文为初学者提供了详尽的学习指南,涵盖基础概念、核心组件及实际应用案例,帮助新手快速掌握Spring框架的核心技术与实践技巧。 ... [详细]
  • 浅析PHP中$_SERVER[
    在PHP后端开发中,`$_SERVER["HTTP_REFERER"]` 是一个非常有用的超级全局变量,它可以获取用户访问当前页面之前的URL。本文将详细介绍该变量的使用方法及其在不同场景下的应用,如页面跳转跟踪、安全验证和用户行为分析等。通过实例解析,帮助开发者更好地理解和利用这一功能。 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • 深入解析 Unity URP/SRP 渲染管线:匠心打造的全面指南
    本文深入探讨了Unity中的URP、SRP和HDRP渲染管线,详细解析了它们之间的关系及各自的特点。首先介绍了SRP的基本概念及其在Unity渲染架构中的作用,随后重点阐述了URP和HDRP的设计理念与应用场景。文章还分析了SRP诞生的背景,解释了为何Unity需要引入这一灵活的渲染框架,以满足不同项目的需求。通过对比URP和HDRP,读者可以更好地理解如何选择合适的渲染管线,以优化项目的性能和视觉效果。 ... [详细]
  • 利用Jenkins与SonarQube集成实现高效代码质量检测与优化
    本文探讨了通过在 Jenkins 多分支流水线中集成 SonarQube,实现高效且自动化的代码质量检测与优化方法。该方案不仅提高了开发团队的代码审查效率,还确保了软件项目的持续高质量交付。 ... [详细]
author-avatar
anilshen_333
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有