首页 > 其他分享 >Django学习(一) 之 环境搭建

Django学习(一) 之 环境搭建

时间:2023-11-29 22:16:08浏览次数:39  
标签:views URL py django 学习 path import Django 搭建

写在前面

最近比较迷AI绘图,那就上个图吧,我感觉还挺好看的。
3.jpg

可能会有人说,之前不一致分享的是flask吗,怎么突然改到django了?
这个问题问得好,开发环境遇到了一些小困难!

image.png

不过django,真的是很流行,一点都不过时,这您放心好了!不多说,直接看效果吧!

环境搭建

1、当前环境版本

  • python==3.9.10
  • django== 2.2

2、安装

pip install django==2.2

3、创建项目

django-admin startproject django_project

4、目录结构
$ cd django_project/
$ tree
.
|-- django_project
|   |-- __init__.py
|   |-- asgi.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- manage.py

目录说明:

  • django_project: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • django_project/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • django_project/asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
  • django_project/settings.py: 该 Django 项目的设置/配置。
  • django_project/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • django_project/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

5、启动服务

项目根目录输入如下命令:

python manage.py runserver
#python manage.py runserver 0.0.0.0:8000

0.0.0.0 标识其他电脑也可以访问,如不指定端口号,默认为8000,自带热部署,这点很吸引我!

启动成功如下:

image.png

神坑报错:

image.png
百度后看到答案,真的石化了!

image.png

没想到听歌还给自己添堵了,大神的回答如下:

pycharm的django框架默认端口为8000,但是酷狗音乐也会默认占用端口8000,就离谱,改下端口号或者关闭酷狗音乐就可以了

第一个程序

1、配置视图和URL

在项目根目录下的 django_project 目录新建一个 views.py 文件,并输入代码:

# -*- coding: utf-8 -*-
# @Time    : 2023/11/29 21:08
# @Author  : longrong.lang
# @FileName: views.py.py
# @Software: PyCharm
# @Cnblogs :https://www.cnblogs.com/longronglang
# @Motto:你只管努力,剩下的交给天意.
from django.http import HttpResponse


def django_demo(request):
    return HttpResponse("Hello django_demo ! ")

绑定URL与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中

from django.urls import path

from . import views

urlpatterns = [
    path("", views.django_demo),
]

保存代码后,会自动重启,这个热部署真的爱了,效果如下:

image.png

知识点:

path() 函数:可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name

语法格式:

path(route, view, kwargs=None, name=None)
  • route:  字符串,定义URL的路径部分。可以包含变量,例如 <int:my_variable>,以从 URL 中捕获参数并将其传递给视图函数。
  • view:  视图函数,处理与给定路由匹配的请求。可以是一个函数或一个基于类的视图。
  • kwargs(可选):  一个字典,包含传递给视图函数的额外关键字参数。
  • name(可选):  为 URL 路由指定一个唯一的名称,以便在代码的其他地方引用它。这对于在模板中生成 URL 或在代码中进行重定向等操作非常有用。

2、url函数的使用

url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name.

def url(regex, view, kwargs=None, name=None):
    return re_path(regex, view, kwargs, name)
  • regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view
  • view: 用于执行与正则表达式匹配的 URL 请求。
  • kwargs: 视图使用的字典类型的参数。
  • name: 用来反向获取 URL

多个url情况:
view.py加跳转url,代码如下:

from django.http import HttpResponse

def django_demo(request):
    return HttpResponse("Hello django_demo ! ")

def index(request):
    return HttpResponse("index page ! ")

在urls.py加个跳转路由,代码如下:

"""django_project URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.urls import path

from . import views

urlpatterns = [
    path('django_demo/', views.django_demo),
    url('^$', views.index),
]

知识点:

  • url(r'^$', view.index):这项是打开首页 http://127.0.0.1:8080
  • path('django_demo/', views.django_demo):这个是打开页面http://localhost:8080/django_demo

到此,开发环境搭建完毕!

写在最后

昨天没更文是有原因的,主要是被影响了心情,花了近3个小时,去追寻本就无果的答案,想想真的挺傻的,哈哈,

最烦的是,还影响到了我的情绪,导致文章就没写上,还好今天又重拾自己,找到了状态,结果环境除了问题,反正这个也要学的,就索性学了。

有时候一直坚持的事情,并不一定是要感动自己,也可能是一种寻找和尝试!

最近还是在找状态,我也说不好,我总感觉,好像很接近了,就我很想要的那种亢奋的状态(还是这句话当我没说吧!)

标签:views,URL,py,django,学习,path,import,Django,搭建
From: https://www.cnblogs.com/longronglang/p/17866005.html

相关文章

  • 第十三周Linux教材第十四章学习笔记——MySQL数据库系统
    MySQL数据库系统MySQL是一个广泛使用的关系型数据库管理系统(RDBMS),它是开源的,支持多用户和多线程。14.1基础知识1.数据库基础概念数据库(Database):**数据库是一个包含相关数据的集合,并提供了对这些数据的有效管理和访问。表(Table):**表是数据库中的基本数据结构,用于存储相关......
  • openGauss学习笔记-134 openGauss 数据库运维-例行维护-检查操作系统参数
    openGauss学习笔记-134openGauss数据库运维-例行维护-检查操作系统参数134.1检查办法通过openGauss提供的gs_checkos工具可以完成操作系统状态检查。前提条件当前的硬件和网络环境正常。各主机间root互信状态正常。只能使用root用户执行gs_checkos命令。操作步骤以r......
  • 学习笔记7
    文件传输命令别名别名:小名,方便使用,自定义缩写使用方法:alias新的命令**=‘原命令-选项/参数’设置指定的别名命令:alias查看别名:alias或者type取消定义的别名:unalias前面所写的定义别名的方式都是临时的,只有在当前登录有效,下次登录就没有了永久定义别名:定义别名的行为是个......
  • [Vue] vue学习笔记(3): 渲染
    条件渲染主要有四个指令v-show:控制元素可视性,即是否增加样式display=nonev-if/v-else-if/v-else:类似if/else-if/else的逻辑结构,进行条件判断,控制元素的可视性,注意这种方法会直接决定元素是否出现DOM树上,而非样式改变<!---nisapropertyofvueinstance---><divv-if......
  • 学习笔记8
    进程管理相当于windonws的任务管理器进程:正在运行的程序,但是现在科技发展在很多情况下程序为了更高的完成更多的事情,往往一个程序会开启多个进程ps-一次性进程监视命令:ps-eu按用户和启动时间的顺序来显示进程a显示所有用户的所有进程x显示无终端控制的进程f列出进程全......
  • django中实现事务的几种方式
    django中实现事务的几种方式https://zhuanlan.zhihu.com/p/622987268具体表现形式为:每次数据库操作(比如调用save()方法)会立即被提交到数据库中。但是如果你希望把连续的SQL操作包裹在一个事务里,就需要手动开启事务根据粒度不同,三种全局:全局,每次请求在一个事务中,粒度太大,事......
  • Django中实现事务的几种方式、事物的回滚和保存点、事务提交后,执行某个回调函数、Djan
    Django中实现事务的几种方式#https://zhuanlan.zhihu.com/p/622987268Django是支持事务操作的,它的默认事务行为是自动提交,具体表现形式为:每次数据库操作(比如调用save()方法)会立即被提交到数据库中。但是如果你希望把连续的SQL操作包裹在一个事务里,就需要手动开启事务#......
  • Linux第十四周学习报告
    网络管理    如果我们要用xshall连接我们的虚拟机,那么我们需要静态的ip地址,查看ip地址使用ipconfig命令(win+rcmd)。Linux操作系统提供了强大的网络功能,它提供了许多完善的网络工具来配置网络。用户既可以通过命令行的方式,也可以通过直接修改配置文件轻松完成网络配......
  • Django补充3
    Django分了很多层路由曾视图层请求对象和响应对象模板曾模型层:orm:表单,多表,各种查询ajaxforms组件 分页器 cookiesession  中间件 auth————————————————————————————————————————————————......
  • 《复变函数论》学习提纲
    第一章复数与复变函数Loading...第一节复数Loading...1.复数域Loading...2.复平面3.复数的模与辐角第二节复平面上的点集第二章解析函数第三章复变函数的积分第四章解析函数的幂级数表示法......