Django demo项目搭建

news2024/11/27 14:28:12

安装 Django

在应用程序开发中,分别创建env文件夹和wordspace文件夹。

env文件夹用于存放创建的虚拟环境,wordspace用于存放项目代码,至此实现虚拟环境和应用程序代码的分隔。

步骤1:创建文件夹,创建命令为mkdir env和 mkdir wordspace。

步骤2:安装 virtualenv库。创建命令为pip install virtualenv。

步骤3:切换到env文件夹并挪创建虚拟环境的命令。创建命令为virtualenv --no-site-pack-ages -p C:\Users\a-xiaobodou\AppData\Local\Programs\Python\Python310\python.exe study_env。

 文件:

检查virtualenv的帮助,创建命令为:virtualenv --help

PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\env> virtualenv --help
usage: virtualenv [--version] [--with-traceback] [-v | -q] [--read-only-app-data] [--app-data APP_DATA] [--reset-app-data] [--upgrade-embed-wheels] [--discovery {builtin}] [-p py] [--try-first-with py_exe]
                  [--creator {builtin,cpython3-win,venv}] [--seeder {app-data,pip}] [--no-seed] [--activators comma_sep_list] [--clear] [--no-vcs-ignore] [--system-site-packages] [--copies] [--no-download | --download]
                  [--extra-search-dir d [d ...]] [--pip version] [--setuptools version] [--wheel version] [--no-pip] [--no-setuptools] [--no-wheel] [--no-periodic-update] [--symlink-app-data] [--prompt prompt] [-h]
                  dest

options:
  --version                     display the version of the virtualenv package and its location, then exit
  --with-traceback              on failure also display the stacktrace internals of virtualenv (default: False)
  --read-only-app-data          use app data folder in read-only mode (write operations will fail with error) (default: False)
  --app-data APP_DATA           a data folder used as cache by the virtualenv (default: C:\Users\a-xiaobodou\AppData\Local\pypa\virtualenv)
  --reset-app-data              start with empty app data folder (default: False)
  --upgrade-embed-wheels        trigger a manual update of the embedded wheels (default: False)
  -h, --help                    show this help message and exit

verbosity:
  verbosity = verbose - quiet, default INFO, mapping => CRITICAL=0, ERROR=1, WARNING=2, INFO=3, DEBUG=4, NOTSET=5

  -v, --verbose                 increase verbosity (default: 2)
  -q, --quiet                   decrease verbosity (default: 0)

discovery:
  discover and provide a target interpreter

  --discovery {builtin}         interpreter discovery method (default: builtin)
  -p py, --python py            interpreter based on what to create environment (path/identifier) - by default use the interpreter where the tool is installed - first found wins (default: [])
  --try-first-with py_exe       try first these interpreters before starting the discovery (default: [])

creator:
  options for creator builtin

  --creator {builtin,cpython3-win,venv}
                                create environment via (builtin = cpython3-win) (default: builtin)
  dest                          directory to create virtualenv at
  --clear                       remove the destination directory if exist before starting (will overwrite files otherwise) (default: False)
  --no-vcs-ignore               don't create VCS ignore directive in the destination directory (default: False)
  --system-site-packages        give the virtual environment access to the system site-packages dir (default: False)
  --copies, --always-copy       try to use copies rather than symlinks, even when symlinks are the default for the platform (default: True)

seeder:
  options for seeder app-data

  --seeder {app-data,pip}       seed packages install method (default: app-data)
  --no-seed, --without-pip      do not install seed packages (default: False)
  --no-download, --never-download
                                pass to disable download of the latest pip/setuptools/wheel from PyPI (default: True)
  --download                    pass to enable download of the latest pip/setuptools/wheel from PyPI (default: False)
  --extra-search-dir d [d ...]  a path containing wheels to extend the internal wheel list (can be set 1+ times) (default: [])
  --pip version                 version of pip to install as seed: embed, bundle or exact version (default: bundle)
  --setuptools version          version of setuptools to install as seed: embed, bundle or exact version (default: bundle)
  --wheel version               version of wheel to install as seed: embed, bundle or exact version (default: bundle)
  --no-pip                      do not install pip (default: False)
  --no-setuptools               do not install setuptools (default: False)
  --no-wheel                    do not install wheel (default: False)
  --no-periodic-update          disable the periodic (once every 14 days) update of the embedded wheels (default: False)
  --symlink-app-data            not supported - symlink the python packages from the app-data folder (requires seed pip>=19.3) (default: False)

activators:
  options for activation scripts

  --activators comma_sep_list   activators to generate - default is all supported (default: bash,batch,fish,nushell,powershell,python)
  --prompt prompt               provides an alternative prompt prefix for this environment (value of . means name of the current working directory) (default: None)

config file C:\Users\a-xiaobodou\AppData\Local\pypa\virtualenv\virtualenv.ini missing (change via env var VIRTUALENV_CONFIG_FILE)
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\env>

创建命令为:virtualenv -p C:\Users\a-xiaobodou\AppData\Local\Programs\Python\Python310\python.exe study_env

PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\env> virtualenv -p C:\Users\a-xiaobodou\AppData\Local\Programs\Python\Python310\python.exe study_env
created virtual environment CPython3.10.7.final.0-64 in 7284ms
  creator CPython3Windows(dest=C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\env\study_env, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\a-xiaobodou\AppData\Local\pypa\virtualenv)
    added seed packages: pip==22.3.1, setuptools==65.6.3, wheel==0.38.4
  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\env>

 文件:

 步骤3:激活虚拟环境。进入虚拟环境“study_env/Scripts”文件夹并执行activate命令,即可激活当前虚拟环境study_env。

 

步骤4:安装Djiango。安装命令为pip install django。

步骤5:检查 Djiango是否能正常使用。

PS C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\env\study_env\Scripts> python
Python 3.10.7 (tags/v3.10.7:6cc6b13, Sep  5 2022, 14:08:36) [MSC v.1933 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(4, 1, 4, 'final', 0)
>>>

 步骤三,解决了。需要作为管理员。

步骤四: 

文件:

 命令行:

Microsoft Windows [Version 10.0.22000.1219]
(c) Microsoft Corporation. All rights reserved.

C:\Windows\system32>cd C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\env\study_env\Scripts

C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\env\study_env\Scripts>activate study_env

(study_env) C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\env\study_env\Scripts>pip install django
Collecting django
  Using cached Django-4.1.4-py3-none-any.whl (8.1 MB)
Collecting sqlparse>=0.2.2
  Using cached sqlparse-0.4.3-py3-none-any.whl (42 kB)
Collecting asgiref<4,>=3.5.2
  Using cached asgiref-3.5.2-py3-none-any.whl (22 kB)
Collecting tzdata
  Using cached tzdata-2022.7-py2.py3-none-any.whl (340 kB)
Installing collected packages: tzdata, sqlparse, asgiref, django
Successfully installed asgiref-3.5.2 django-4.1.4 sqlparse-0.4.3 tzdata-2022.7

(study_env) C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\env\study_env\Scripts>

步骤五:

第一个Django项目

1、创建项目及各文件作用的解读

Djiangorjwa 的django-admin命令可以帮助我们快速构建项目。

步骤1:激活虚拟环境study_env

步骤2:进入代码存放文件夹wordspace,并创建名“hello”的Djiango项目,命令为django-admin startproject hello。

 命令行:

(study_env) C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python>cd wordspace

(study_env) C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\wordspace>django-admin startproject hello

(study_env) C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\wordspace>

步骤3:查看目录结构。

 文件1

文件2

 visual studio code:

(1)__init__.py:表示该目录结构 是一个Python包,可进行数据库的初始化操作。

(2)settings.py:表示Django项目的配置文件,可配置项目所使用的数据库存、静态资源、调试模式、域名限制等配置信息。

(3)urls.py:表示项目的URL路由映射文件。

(4)wsgi.py:表示定义的WSGI接口信息。

(5)manage.py:表示管理集工具文件,用于启动整个Django项目的文件。

2、创建应用及各文件作用的解读

应用app主要用于处理业务逻辑,如模型、视图、路由等功能的实现。

步骤1:进入hello项目文件夹,并执行应用创建命令,命令为python manage.py startapp app_name

命令行:

(study_env) C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\wordspace\hello>python manage.py startapp app_name

(study_env) C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\wordspace\hello>

步骤2:目录结构

(1)migrations:表示 用于存储执行迁移命令时数据库变化的中间文件。

(2)admin.py:表示用于配置管理后台中管理模型的文件。

(3)apps.py:用于在工程目录settings.py中加入INSTALLED_APPS。

(4)models.py:表示用于定义数据库表模型的文件,该文件是MVT中M体现的模块。

(5)tests.py:表示用于写单元测试的文件。

(6) views.py:表示用于定义视图函数的代码文件,该文件是MVT中V体现的模块。

 

3、启动项目

步骤1:编辑“”文件,并在INSTALLED_APPS中加入应用app_name的名称。

INSTALLEND_APPS=[
    ......
    'app',    #新增此行
]

步骤2:控制台输入启动命令,命令为python manage.py runserver 0.0.0.0:8080,启动服务器。

代码行:

(study_env) C:\Users\a-xiaobodou\OneDrive - Microsoft\Projects\Python\wordspace\hello>python manage.py runserver 0.0.0.0:8080
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 13, 2022 - 16:46:26
Django version 4.1.4, using settings 'hello.settings'
Starting development server at http://0.0.0.0:8080/
Quit the server with CTRL-BREAK.
[13/Dec/2022 16:47:19] "GET / HTTP/1.1" 200 10681
[13/Dec/2022 16:47:20] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[13/Dec/2022 16:47:20] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
[13/Dec/2022 16:47:20] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692
[13/Dec/2022 16:47:20] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876
Not Found: /favicon.ico
[13/Dec/2022 16:47:20] "GET /favicon.ico HTTP/1.1" 404 2109

启动命令中0.0.0.0代表该项目可以被同一局域网内的电脑访问,而8080代表端口号。

如果不说明端口,启动命令为python manage.py runserver时,则表示默认开启8000端口。

需要注意:启动命令中IP和端口两个参数都可以写,如命令:python manage.py runserver IP:端口;也可以只写端口,如命令:python manage.py runserver 端口,表示默认启动本地IP地址即127.0.0.1。

 

步骤3:在浏览器中输入IP地址及端口号,如http://127.0.0.1:8080。若页面如下图片,则表示Django项目启动成功。

 

路由配置和视图的使用 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

静态链接:空间与地址分配

前言 我们终于走到了链接这一步&#xff0c;对于链接这一步&#xff0c;它是将多个输入目标文件链接后输出一个可执行文件。我们拿两个程序a.c和b.c来举例说明链接的过程。 a.c&#xff1a; /* a.c */ extern int shared;int main(){int a 100;swap(&a,&shared); }…

从Mybatis到Mybatis-Plus学习

从Mybatis到Mybatis-PlusMybatis的入门Mybatis的配置解析核心配置文件分页配置注解开发mybatis的执行流程多对一一对多动态SQLmybatis 的缓存Mybatis-plus快速入门mybatis-plus的框架结构图分页查询和删除执行SQL分析打印条件构造器Wrapper代码生成器Mybatis的入门 环境&#…

io复用函数的使用

目录 一、概念 二、使用 1.select系统调用 代码实现 前言&#xff1a; 一般多客户端在和服务器通信时&#xff0c;服务器在执行recv时会先阻塞&#xff0c;然后按照顺序依次处理客户端&#xff0c;无论客户端有无数据都会被处理&#xff0c;这样大大降低了执行效率。此时就引…

代理 模式

代理模式 Proxy Pattern 为其他对象提供一个代理以控制对这个对象的访问 可以详细控制访问某个&#xff08;某类&#xff09;对象的方法&#xff0c;在调用这个方法前做前置处理&#xff0c;调用这个方法后做后置处理。 静态代理 直接写死的代码的代理逻辑 动态代理 动态…

12.2、后渗透测试--令牌窃取

攻击机kali&#xff1a;192.168.11.106靶机windows server 2008 R2&#xff1a;192.168.11.134&#xff08;包含ms17_010漏洞&#xff09;一、令牌简介与原理 令牌(Token) 就是系统的临时密钥&#xff0c;相当于账户名和密码&#xff0c;用来决定是否允许这次请求和判断这次请求…

二进制搭建k8s——部署node节点

上篇&#xff1a;二进制搭建k8s——部署etcd集群和单master 二进制搭建k8s——部署node节点二进制搭建k8s——部署node节点环境部署node节点部署网络组件方法一&#xff1a;部署Flannel方法二&#xff1a;部署 CalicoCNI网络插件介绍Kubernetes的三种网络K8S 中 Pod 网络通信&a…

浅浅讲解下Linux内存管理之CMA

说明&#xff1a; Kernel版本&#xff1a;4.14ARM64处理器&#xff0c;Contex-A53&#xff0c;双核使用工具&#xff1a;Source Insight 3.5&#xff0c; Visio 1. 概述 Contiguous Memory Allocator, CMA&#xff0c;连续内存分配器&#xff0c;用于分配连续的大块内存。CMA…

c语言内存和文件处理有关知识

内存 分配内存的函数calloc&#xff0c;malloc 定义于头文件 <stdlib.h>功能malloc分配内存(函数)calloc分配并清零内存(函数)realloc扩充之前分配的内存块(函数)free归还还之前分配的内存(函数)aligned_alloc(C11)分配对齐的内存(函数) 函数原型 void *malloc(unsigne…

Java基础之Collection的ArrayList

Java基础之Collection的ArrayList一、add()与addAll()二、remove()三、trimToSize()1、案例一、add()与addAll() 跟C 的vector不同&#xff0c;ArrayList没有push_back()方法&#xff0c;对应的方法是add(E e)&#xff0c;ArrayList也没有insert()方法&#xff0c;对应的方法是…

Oracle---初学篇

Oracle初学篇 Oracle的启动&#xff0c;监听&#xff0c;用户 文章目录Oracle初学篇Oracle的启动Oracle的监听监听服务的主要文件1.listener.ora2.tnsnames.ora3.sqlnet.oraOracle用户Oracle安装成功后默认的三个用户创建用户Oracle的启动 之前写了关于如何在CentOS7上搭建Ora…

2021年全国研究生数学建模竞赛华为杯D题抗乳腺癌候选药物的优化建模求解全过程文档及程序

2021年全国研究生数学建模竞赛华为杯 D题 抗乳腺癌候选药物的优化建模 原题再现&#xff1a; 一、背景介绍   乳腺癌是目前世界上最常见&#xff0c;致死率较高的癌症之一。乳腺癌的发展与雌激素受体密切相关&#xff0c;有研究发现&#xff0c;雌激素受体α亚型&#xff0…

LeetCode 0547. 省份数量:图的连通分量

【LetMeFly】547.省份数量 力扣题目链接&#xff1a;https://leetcode.cn/problems/number-of-provinces/ 有 n 个城市&#xff0c;其中一些彼此相连&#xff0c;另一些没有相连。如果城市 a 与城市 b 直接相连&#xff0c;且城市 b 与城市 c 直接相连&#xff0c;那么城市 a …

Windows文件夹开启大小写敏感

Windows 的文件系统的文件名&#xff0c;是大小写不敏感的&#xff0c;也就是你的文件名是 a.txt 或者 A.txt&#xff0c;在 Windows 中都是一视同仁&#xff0c;认为是同一个文件。 自从 Windows 10 引入 Linux 子系统&#xff08;WSL&#xff09;后&#xff0c;有越来越多开…

JAVA毕业设计——基于ssm的汽车租赁管理系统 (源代码+数据库)

代码地址 https://github.com/ynwynw/carRental-public 毕业设计所有选题地址 https://github.com/ynwynw/allProject 基于Springboot的汽车租赁管理系统 (源代码数据库)601 一、系统介绍 汽车租赁系统总共分为两个大的模块&#xff0c;分别是系统模块和业务模块。其中系统模…

基于混沌原子搜索优化的电力系统(HPS)负载频率自动控制(ALFC)(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

Spring Security 中的四种权限控制方式

Spring Security 中对于权限控制默认已经提供了很多了&#xff0c;但是&#xff0c;一个优秀的框架必须具备良好的扩展性&#xff0c;恰好&#xff0c;Spring Security 的扩展性就非常棒&#xff0c;我们既可以使用 Spring Security 提供的方式做授权&#xff0c;也可以自定义授…

如何实现外网访问API接口

Application Programming Interface 缩写为API&#xff0c;中文翻译为“应用程序接口”&#xff0c;是一些预先定义的函数&#xff0c;或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力&#xff0c;而又无需访问源码&…

TVS管开关电源防护应用及电源防护元件的品类

瞬态抑制二极管简称TVS管。其作用原理是能够在极短的时间内承受反向电压的冲击&#xff0c;使得两极之间的电压钳位在特定电压水平上&#xff0c;有效避免了对后面电路的冲击&#xff0c;从而保护了被保护电子线路中的精密元件不受其损害。 瞬态抑制二极管TVS的钳位响应速度为为…

pytest + yaml 框架 -7.用例分层机制

前言 当我们测试流程类的接口&#xff0c;需反复去调用同一个接口&#xff0c;就会想到复用API&#xff0c;在代码里面可以写成函数去调用。 那么在yaml 文件中&#xff0c;我们可以把单个API写到一个yaml 文件&#xff0c;测试用例去调用导入API。 pip 安装插件 pip instal…

电子产品设计的流程有哪些

电子产品设计过程是指导工业外观设计的具体环节&#xff0c;主要包括产品市场需求分析、产品设计、产品原型设计、生产测试设计、大规模生产等方法和步骤。 一、电子产品设计流程是什么? 1.产品市场需求分析是电子产品设计成功的第一步&#xff0c;也是非常重要的一步。开发者…