Django入门全攻略:从零搭建你的第一个Web项目

server/2024/9/24 0:16:49/

在这里插入图片描述

系列文章目录

努力ing

  • Django入门全攻略:从零搭建你的第一个Web项目
  • 努力ing…

文章目录

  • 系列文章目录
  • 前言
  • 一、Django
    • 1.1 Django安装
    • 1.2 Django项目创建
    • 1.3 目录介绍
  • 二、子应用
    • 2.1 子应用创建
    • 2.2 目录结构
    • 2.3 子应用注册
    • 2.4 子应用视图逻辑
      • 2.4.1 编写视图
      • 2.4.2 编写路由
    • 2.5 完整流程
  • 三、模版
    • 3.1 模版使用步骤
    • 3.2 视图渲染
  • 四、静态文件
  • 五、模版语法
    • 5.1 模版变量
    • 5.2 for循环
    • 5.3 if判断


前言

Django项目创建、子应用视图逻辑、模版、静态文件、模版语法、ORM(虾片写)

    探索Django的魅力,从零开始搭建你的首个Web项目。本文将指引你完成项目的创建、子应用的注册、视图逻辑的编写,以及模板与静态文件的使用,让你快速掌握Django开发的核心技能。


一、Django

1.1 Django安装

常用镜像源:
阿里:https://mirrors.aliyun.com/pypi/simple/
百度:https://mirror.baidu.com/pypi/simple/
清华:https://pypi.tuna.tsinghua.edu.cn/simple/

安装django

pip install django==4.2.2  -i https://pypi.tuna.tsinghua.edu.cn/simple

1.2 Django项目创建

Django 项目创建步骤:
1、找到对应目录,代码存放目录
2、通过cmd终端命令行,进入当前目录
3、执行创建项目的命令:django-admin startproject 项目名
4、运行项目:python manage.py runserver

​ 第一种方式:cd到项目/工程的根目录

​ 第二种方式:在pycharm中,打开终端命令行,输入命令

# 1. 终端指令 创建 django 项目--myproject
django-admin startproject myproject# 2. 进入到项目 里面
cd myproject# 3. 启动 django 服务的指令
python manage.py runserver

1.3 目录介绍

在这里插入图片描述

  • manage.py:用来管理当前项目的一个命令行工具

  • myproject:项目主文件夹,包含了项目最基本的配置文件及路由文件

    • __init__.py:空文件,用来指明当前的myproject为一个可导入的模块包
    • settings.py:项目主要配置文件
    • urls.py:项目主要路由配置文件
    • wsgi.py:项目部署WSGI并发服务器时所需要的配置文件
    • asgi.py:对于支持异步的Django服务器,如Daphne,这个文件用于定义ASGI应用

二、子应用

2.1 子应用创建

子应用创建的三种方式:

python">1.python manage.py startapp appname
2.django-admin startapp appname
3.pycharm创建

2.2 目录结构

app/:app目录

  • admin.py:这个app所使用表模型在admin注册展示时需要的文件
  • views.py:视图函数文件,编写主要的增删改查等数据逻辑的地方
  • models.py:未来操作数据库时,如果使用ORM映射关系,那么将使用该文件

2.3 子应用注册

python"># settings.py 
INSTALLED_APPS = ['appname',
]

2.4 子应用视图逻辑

2.4.1 编写视图

打开app下的views.py文件,编写视图函数:

python">from django.http import HttpResponse
def index(request):return HttpResponse("<h1>Hello world</h1>")

2.4.2 编写路由

打开项目主目录下的urls.py文件,编写路由映射:

python">from django.contrib import admin
from django.urls import path
from myapp import views
urlpatterns = [path('admin/', admin.site.urls), #admin 控制界面路由path('index/',views.index)
]

2.5 完整流程

	1、创建子应用命令:django-admin startapp 子应用名(根据模块或者功能划分)​	2、注册子应用:在主应用中的settings中INSTALL_APPS中注册子应用名​	3、在子应用中创建对应视图函数​	4、视图函数接收一个参数:request​	5、视图函数返回一个HttpResponse​	6、注册视图函数对应url(路由)

三、模版

3.1 模版使用步骤

模版使用步骤:

python">#  1. 项目根目录 创建 templates 文件夹#  2.在settings.py--配置模板路径#  3. templates 文件夹下面 创建 .html
python"># project.settings.py
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates')],#设置此项'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
]

3.2 视图渲染

python"># app.views.py
from django.shortcuts import renderdef index(request):return render(request, 'index.html')

四、静态文件

静态文件加载步骤:
1、需要创建存放静态资源的文件目录:static
2、在settings中配置静态资源目录地址:STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]
3、在static中存放静态文件:图片、CSS等公共文件
4、在模版中(head标签上方),添加:{% load static%} ,使模版加载静态资源
5、在模版(.html)中使用:{% static 'imgs/img.png' %}


五、模版语法

模版语法:将项目中的数据,加载到html中的语法

5.1 模版变量

python">#views.py
#context:上下文,只接收字典格式的数据
return render(request,'index.html',context = {'name':'张三'})#index.html
名字:{{name}}
-------------------------------------------------#locals() 导入
return render(request,'index.html',context = locals())

5.2 for循环

{% for item in n3.keys %}<div>{{forloop.counter0}}</div><div>{{ item }}</div>
{% empty %}<h1>当期字典为空</h1>
{% end for%}

5.3 if判断

{% if n1 == '韩超' %}<h1>哒哒哒哒哒哒</h1>
{% elif n1 == 'xxx' %}<h1>滴滴滴</h1>
{% else %}<h1>嘟嘟嘟</h1>
{% endif %}

在这里插入图片描述


http://www.ppmy.cn/server/45148.html

相关文章

C# Sdcb.PaddleInference 中文分词、词性标注

C# Sdcb.PaddleInference 中文分词、词性标注 目录 效果 项目 代码 下载 参考 效果 项目 代码 using Sdcb.PaddleNLP.Lac; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Windows.Forms; namespace C__Sdcb.Pad…

股票交易vip快速通道有什么门槛?vip交易通道的开通流程!

证券公司的VIP通道通常是为了满足高端客户或高频交易客户的需求而设立的&#xff0c;提供更快速、更便捷的交易服务。证券公司VIP通道适用于有追涨停板需求的投资者&#xff0c;以及一些喜爱高频交易的投资者&#xff0c;总的来说就是快速&#xff0c;在交易主机排队靠前。 VI…

vs工程添加自定义宏

一、简介 用户可以添加自定义宏变量方便工程路径名称的修改和配置 例&#xff1a;$(SolutionDir) 为解决方案路径&#xff0c;$(PojectDir) 为工程所在路径 测试环境&#xff1a;vs2017&#xff0c;qt5.14.0 二、配置 1、打开属性窗口&#xff1a;视图-》其他窗口-》属性管…

【LeetCode】438.找到字符串中所有字母异位词

找到字符串中所有字母异位词 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&#xff08;包括相同的字符串&#xff09;。 示…

垃圾收集器

文章目录 概要几个重要的概念Serial收集器ParNew 收集器Parallel Scavenge收集器Serial Old收集器Parallel Old收集器CMS收集器CMS垃圾收集过程并发标记过程多标漏标CMS收集器的三个缺点 G1收集器垃圾回收细节参数设置运行过程优缺点 概要 垃圾回收算法分类两类&#xff0c;第…

android13 差分包制作命令

./out/host/linux-x86/bin/ota_from_target_files -v -iCode/SourceCode/android13/ntls/userdebug/hpg2_24-target_files-38.zip --block -p ./out/host/linux-x86 Code/SourceCode/android13/ntls/userdebug/hpg2_24-target_files-39.zip update_ud.zip 脚本命令行参数 命令…

富凡行是什么软件,来具体聊一聊它的详情,感兴趣的不要错过了

目前做网络项目的人很多&#xff0c;也就衍生出了很多的软件、项目、平台。接触过了很多的产品&#xff0c;感触颇深&#xff0c;确实市面上的东西差别都很大&#xff0c;有好的&#xff0c;有不好的。 我也是喜欢在网上做点副业&#xff0c;自己捣鼓一下&#xff0c;毕竟互联网…

Codeforces Round 948 (Div. 2) E. Tensor(思维题-交互)

题目 n(3<n<100)个点的有向图&#xff0c; 图的边的关系未知&#xff0c;但保证以下两点&#xff1a; 1. 只存在j->i&#xff08;i<j&#xff09;的边 2. 对于任意三个点i、j、k&#xff08;i<j<k&#xff09;&#xff0c;要么k可以到达i&#xff0c;要么…