首页 > 其他分享 >【Django学习笔记】-环境搭建

【Django学习笔记】-环境搭建

时间:2023-06-12 16:36:01浏览次数:57  
标签:views admin 创建 app py 笔记 Django urls 搭建

对于初学django新手,根据以下步骤可以快速进行Django环境搭建

虚拟环境创建

使用virtualenv创建并启用虚拟机环境 ,关于virtualenv可参考https://www.yuque.com/binowen/tn8zvy/insclepip install virtualenvvirtualenv ./envsource env/bin/activate

创建project

1.使用pip install 安装django

pip install django

2.使用django-admin startproject 生成项目

【Django学习笔记】-环境搭建_Django

`根目录的mysite/,仅仅是个目录而已,Django不会拿它做什么,它的名字可以随意修改`

注意: startproject不支持直接创建带短横线的项目名,e.g. hello-world

项目结构

【Django学习笔记】-环境搭建_virtualenv_02

  • asgi.py

兼容ASGI Web服务器的入口。

  • wsgi.py

兼容WSGI Web服务器的入口。
ASGI和WSGI,都是一种Python的Web服务网关接口协议,是在CGI通用网关接口,Common Gateway Interface)的标准上构建的。

  • urls.py

网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。

【Django学习笔记】-环境搭建_django_03

  • views.py

处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。

【Django学习笔记】-环境搭建_python_04

  • models.py

与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。

  • forms.py

表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。

  • templates 文件夹

views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。

  • admin.py

后台,可以用很少量的代码就拥有一个强大的后台。

  • settings.py

Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

【Django学习笔记】-环境搭建_python_05

创建app

使用python manage.py startapp 创建****app

app是Django项目的应用,一个project可以包含多个app。在使用django-admin startapp命令后就会创建这样的目录文件,如下:

【Django学习笔记】-环境搭建_python_06

  • polls/

app的Python包,可以放在任意路径。修改存放路径,相关配置中的路径也需要修改。

  • admin.py

存放Django自带后台管理的models。

  • apps.py

app配置信息,例如:
from django.apps import AppConfig

class PollsConfig(AppConfig):name = 'polls'

存放路径不同,name的值也不同。

  • migrations/

Django数据迁移生成的迁移记录文件。

  • models.py

存放app的models。

  • tests.py

单元测试。

  • views.py

视图函数(类)。

  • urls.py

app的路由配置,需要手动添加,可通过include()函数导入到mysite/urls.py中,例如:
from django.contrib import adminfrom django.urls import include, path

urlpatterns = [path('admin/', admin.site.urls),path('polls/', include('polls.urls')),]

polls/urls.py:

from django.urls import path

from . import views

urlpatterns = [path('', views.index),]

访问xxx/polls/就会路由到views.index

创建Template

  1. 创建templates文件夹,并把所有网页模板(.html)文件都放在此文件夹中。
  2. 创建static文件夹,并把所有静态文件(图像文件、CSS文件及.js等)都放在此文件夹中。

【Django学习笔记】-环境搭建_Django_07

创建Model/View/Url

  1. 修改settings.py,把相关的文件夹加入,也把生成的app名称加入INSTALLED_APPS序列中。
  2. 编辑models.py,创建数据库表格。
  3. 编辑views.py,先import在models.py中创建的数据模型。
  4. 编辑admin.py,把models.py中定义的数据模型加入,并使用admin.site.register注册新增的类,让admin界面可以处理数据库内容。
  5. 编辑urls.py,先import在views.py中定义的模块
  6. 编辑urls.py,创建网站和views.py中定义的模块的对应关系。
  7. 执行数据库脚本初始化(如果有Model的话)

python manage.py makemigrationspython manage.py migrate

执行python manage.py runserver 0.0.0.0:8000 启动项目

工程化项目参考

由于Django官方并没有提供标准的项目结构

【Django学习笔记】-环境搭建_Python_08

特点是①app放置在单独目录统一管理,②requirements和settings按环境做拆分

参考:
https://docs.djangoproject.com/en/3.1/intro/tutorial01/https://django-edge.readthedocs.io/en/latest/Architecture/

【Django学习笔记】-环境搭建_virtualenv_09



标签:views,admin,创建,app,py,笔记,Django,urls,搭建
From: https://blog.51cto.com/devopsingroad/6463439

相关文章

  • 静态博客搭建工具汇总
    Jekyll、Hugo、Hexo是简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过Markdown以及Liquid转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。Jekyll、Hugo、Hexo也可以运行在码云(Gitee.com)Pages上,也就是说,你可以使......
  • boot+mp搭建版本踩坑记录
    最近项目搭建中遇到的一些问题,涉及到mp版本swagger集成等文章目录前言一、引入mp启动报错1相关配置2报错如下3解决方案二、引入swagger1引入的pom2报错如下:3解决方案三.项目启动自动打开swagger页面总结前言由于使用高版本springboot导致集成遇到的一些问题一、引......
  • 手写 Django orm反向迁移 MySQL
    importpymysql,os####settingsdb={'NAME':'','USER':'','PASSWORD':'','HOST':'','PORT':'',}table_name_list=[]#表名列表......
  • SpringBoot多模块项目搭建以及搭建基础模板
    多模块项目搭建目录多模块项目搭建1.父项目pom文件编辑2.创建子模块1.父项目pom文件编辑<!--1.父工程添加pom格式--><packaging>pom</packaging><!--定义子模块--><modules><module>walker-service</module><module>walker-utils&......
  • ​跨部门网络搭建,核心在这30行里
    大家好,我的网工朋友。在企业网络中,想要实现跨部门的VLAN互联互通,其实有很多方式。你可以通过子接口实现,也可以通过VLAN-Interface实现。但在实际工作中,很多网工朋友,遇到这种情况,很容易会回不过神来,一下子卡壳宕机。今天我们不聊理论,就整点实际的,看完就能用到你的实战工作之中。在部......
  • 【Nginx学习笔记】-初识Nginx
    [TOC]Nginx中文文档-www.nginx.cn/doc/Nginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证......
  • 012 数据库学习笔记--自定义函数
    自定义函数:根据自己的需要,自定义一些函数分类:标量函数、内嵌表值函数、多声明表值函数标量函数:对单一值的操作,返回单一值;包含beginend创建的时候,指定了函数所有体,调用时也必须指定函数所有者调用时,如果函数中指定了默认值,调用的时候,可使用默认值default代替在语法上r......
  • 静态博客搭建工具汇总
    Jekyll、Hugo、Hexo是简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过Markdown以及Liquid转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。Jekyll、Hugo、Hexo也可以运行在码云(Gitee.com)Pages上,也就是说,你可以使......
  • 【Kubernetes学习笔记】-使用Minikube快速部署K8S单机学习环境
    介绍minikube.sigs.k8s.io/docs/Minikube用于快速在本地搭建Kubernetes单节点集群环境,它对硬件资源没有太高的要求,方便开发人员学习试用,或者进行日常的开发。其支持大部分kubernetes的功能,列表如下DNSNodePortsConfigMapsandSecretsDashboardsContainerRuntime:Docker,and......
  • U-Mail企业邮件服务器搭建方案
    数字化办公的日渐推行,使企业对邮箱的依赖与日俱增,正式工作报告,部门之间的事物往来、通知等等都需要使用到企业邮箱。随着企业对数字化建设的不断深入,企业对企业邮箱的要求也越来越高,比如对第三方应用集成及协同办公要求高,需要同时支持多种业务的开展,对企业邮箱的稳定及高效性要求高......