翼度科技»论坛 编程开发 python 查看内容

Django学习(一) 之 环境搭建

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
写在前面

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

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

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

1、当前环境版本


  • python==3.9.10
  • django== 2.2
2、安装

pip install django==2.2
3、创建项目

django-admin startproject django_project
4、目录结构
  1. $ cd django_project/
  2. $ tree
  3. .
  4. |-- django_project
  5. |   |-- __init__.py
  6. |   |-- asgi.py
  7. |   |-- settings.py
  8. |   |-- urls.py
  9. |   `-- wsgi.py
  10. `-- 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、启动服务

项目根目录输入如下命令:
  1. python manage.py runserver
  2. #python manage.py runserver 0.0.0.0:8000
复制代码
0.0.0.0 标识其他电脑也可以访问,如不指定端口号,默认为8000,自带热部署,这点很吸引我!
启动成功如下:

神坑报错:

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

没想到听歌还给自己添堵了,大神的回答如下:
pycharm的django框架默认端口为8000,但是酷狗音乐也会默认占用端口8000,就离谱,改下端口号或者关闭酷狗音乐就可以了
第一个程序

1、配置视图和URL

在项目根目录下的 django_project 目录新建一个 views.py 文件,并输入代码:
  1. # -*- coding: utf-8 -*-
  2. # @Time    : 2023/11/29 21:08
  3. # @Author  : longrong.lang
  4. # @FileName: views.py.py
  5. # @Software: PyCharm
  6. # @Cnblogs :https://www.cnblogs.com/longronglang
  7. # @Motto:你只管努力,剩下的交给天意.
  8. from django.http import HttpResponse
  9. def django_demo(request):
  10.     return HttpResponse("Hello django_demo ! ")
复制代码
绑定URL与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中
  1. from django.urls import path
  2. from . import views
  3. urlpatterns = [
  4.     path("", views.django_demo),
  5. ]
复制代码
保存代码后,会自动重启,这个热部署真的爱了,效果如下:

知识点:
path() 函数:可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。
语法格式:
  1. path(route, view, kwargs=None, name=None)
复制代码

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

url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name.
  1. def url(regex, view, kwargs=None, name=None):
  2.     return re_path(regex, view, kwargs, name)
复制代码

  • regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
  • view: 用于执行与正则表达式匹配的 URL 请求。
  • kwargs: 视图使用的字典类型的参数。
  • name: 用来反向获取 URL。
多个url情况:
在view.py加跳转url,代码如下:
  1. from django.http import HttpResponse
  2. def django_demo(request):
  3.     return HttpResponse("Hello django_demo ! ")
  4. def index(request):
  5.     return HttpResponse("index page ! ")
复制代码
在urls.py加个跳转路由,代码如下:
  1. """django_project URL Configuration
  2. The `urlpatterns` list routes URLs to views. For more information please see:
  3.     https://docs.djangoproject.com/en/2.2/topics/http/urls/
  4. Examples:
  5. Function views
  6.     1. Add an import:  from my_app import views
  7.     2. Add a URL to urlpatterns:  path('', views.home, name='home')
  8. Class-based views
  9.     1. Add an import:  from other_app.views import Home
  10.     2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
  11. Including another URLconf
  12.     1. Import the include() function: from django.urls import include, path
  13.     2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
  14. """
  15. from django.conf.urls import url
  16. from django.urls import path
  17. from . import views
  18. urlpatterns = [
  19.     path('django_demo/', views.django_demo),
  20.     url('^$', views.index),
  21. ]
复制代码
知识点:

  • url(r'^$', view.index):这项是打开首页 http://127.0.0.1:8080
  • path('django_demo/', views.django_demo):这个是打开页面http://localhost:8080/django_demo
到此,开发环境搭建完毕!
写在最后

昨天没更文是有原因的,主要是被影响了心情,花了近3个小时,去追寻本就无果的答案,想想真的挺傻的,哈哈,
最烦的是,还影响到了我的情绪,导致文章就没写上,还好今天又重拾自己,找到了状态,结果环境除了问题,反正这个也要学的,就索性学了。
有时候一直坚持的事情,并不一定是要感动自己,也可能是一种寻找和尝试!
最近还是在找状态,我也说不好,我总感觉,好像很接近了,就我很想要的那种亢奋的状态(还是这句话当我没说吧!)

来源:https://www.cnblogs.com/longronglang/p/17866005.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具