一、下载

Django用于开发,在setting中进行下载。
1.新建一个项目

2.下载Django



文件上的显示

3.使用terminal创建Django项目

输入命令django-admin startproject 项目名称

效果如下:

manage.py:它接受命令并将其交给django相应部分去运行,如使用数据库、运行服务器等
settings.py:指定django如何与系统交互以及如何管理项目。
urls.py:告诉django应该创建哪些网页来响应浏览器请求
wsgi.py:帮助django提供他创建的文件

文件显示:

4.创建应用
在 Terminal 中进入C:\Users\Administrator\PycharmProjects\pythonProject2\myapp目录下,输入 python manage.py startapp 应用名:

文件结构:

5.启动服务,服务器跑起来
仍旧在项目文件目录下,输入python manage.py runserver启动服务器。
每当我们启动项目时,服务器就要跑起来一次即可。

运行Pycharm上的绿三角箭头,出现结果。

二、使用Django创建基础项目Hello world

1.在Django项目中新建一个views.py文件。

views.py代码如下:

from django.http import HttpResponse
def hello(request):return HttpResponse("Hello world ! ")

2.绑定url,打开url.py文件,修改内容。
修改前:

"""myapp URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/4.0/topics/http/urls/
Examples:
Function views1. Add an import:  from my_app import views2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views1. Add an import:  from other_app.views import Home2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import pathurlpatterns = [path('admin/', admin.site.urls),
]


修改后:

from django.template.defaulttags import url
from . import views
urlpatterns = [url(r'^$', views.hello),
]

此时运行报错如下:

这是由于from django.urls import re_path as url代替了已被废弃的from django.template.defaulttags import url
修改后urls.py文件代码如下:

from django.urls import re_path as url
from myapp import views
urlpatterns = [url(r'^$', views.hello),
]

运行开始又出现相对导入错误:

相对导入格式为 from .A import B 或 from …X import Y, . 代表当前包, … 代表上层包, …
代表上上层包。

报错:ImportError: attempted relative import with no known parent package

解决办法:
首先文档结构如下:

在运行urls.py文件时,from . import views意为导入同级下views.py文件。在此处由相对引入改为绝对引入from myapp import views
最终urls.py文件如下:

from django.urls import re_path as url
from myapp import views
urlpatterns = [url(r'^$', views.hello),
]

服务器跑起来,进入 http://127.0.0.1:8000/,显示如下:

urls.py文件的另一种path方式:

from django.urls import path
from myapp import views
urlpatterns = [path('hello/', views.hello),
]

服务器跑起来,进入 http://127.0.0.1:8000/hello/,同样显示如下:

注: Django path() 可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。
语法格式: path(route, view, kwargs=None, name=None)
route: 字符串,表示 URL规则,与之匹配的 URL 会执行对应的第二个参数 view。
view: 用于执行与正则表达式匹配的 URL 请求。
kwargs:视图使用的字典类型的参数。
name: 用来反向获取 URL。

三、Django模板

1.在Myapp即项目目录下新建templates包,包下新建runoob.html文件。



目前的文件结构:

runoob.html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><h1>{{ hello }}</h1>
</head>
<body></body>
</html>

变量使用了双括号{{ hello }}

2.向Django说明模板文件的路径,修改myapp/settings.py,修改 templates 中的 dirs 为 [os.path.join(BASE_DIR, 'templates')],如下所示:
修改前:

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [],'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',],},},
]

修改后:

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.在修改 views.py,增加一个新的对象,用于向模板提交数据:
views.py

from django.shortcuts import render
def runoob(request):context          = {}context['hello'] = 'Hello World!'return render(request, 'runoob.html', context)

网页runoob.html文件中的变量hello在这里它的内容是Hello World!

4.urls.py也做相应修改:
使用 render 来替代之前使用的 HttpResponse。render 还使用了一个字典 context 作为参数。
context 字典中元素的键值 hello 对应了模板中的变量 {{ hello }}。

from django.urls import path
from myapp import views
urlpatterns = [path('runoob/', views.runoob),
]

让服务器跑起来,运行。
访问 http://127.0.0.1:8000/runoob/结果如下:

四、Django 模板标签

模板都是html文件,文件内容由views.py负责,urls.py负责两者的传输。
1.变量标签

变量 模板语法:
view:{“HTML变量名” : “views变量名”}
HTML:{{变量名}}

myapp/views.py修改后:

from django.shortcuts import renderdef runoob(request):views_name = "菜鸟教程"return  render(request,"runoob.html", {"name":views_name})

runoob.xml修改后:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><p>{{ name }}</p>
</head>
<body></body>
</html>

myapp/views.py不变:

from django.urls import path
from myapp import views
urlpatterns = [path('runoob/', views.runoob),
]

运行http://127.0.0.1:8000/runoob/结果:

2.列表标签
templates 中的 runoob.html中,可以用 . 索引下标取出对应的元素。
myapp/views.py修改后:

from django.shortcuts import renderdef runoob(request):views_list = ["菜鸟教程1","菜鸟教程2","菜鸟教程3"]return render(request, "runoob.html", {"views_list": views_list})

runoob.xml修改后:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><p>{{ views_list }}</p>   # 取出整个列表
<p>{{ views_list.0 }}</p> # 取出列表的第一个元素
</head>
<body></body>
</html>

myapp/views.py不变:

from django.urls import path
from myapp import views
urlpatterns = [path('runoob/', views.runoob),
]

运行http://127.0.0.1:8000/runoob/结果:

3.字典标签
templates 中的 runoob.html中,可以用 .键 取出对应的值。
myapp/views.py修改后:

from django.shortcuts import renderdef runoob(request):views_dict = {"name":"菜鸟教程"}return render(request, "runoob.html", {"views_dict": views_dict})

runoob.xml修改后:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title></head>
<body>
<p>{{ views_dict }}</p>
<p>{{ views_dict.name }}</p>
</body>
</html>

myapp/views.py不变:

from django.urls import path
from myapp import views
urlpatterns = [path('runoob/', views.runoob),
]

运行http://127.0.0.1:8000/runoob/结果:

4.过滤器
模板语法:{{ 变量名 | 过滤器:可选参数 }}。过滤器可选参数就是后续要介绍的default、length等。
此模板针对runoob.html文件。

{{ name|lower }} 中,{{ name }} 变量被过滤器 lower 处理后,文档大写转换文本为小写。
{{ my_list|first|upper }}将第一个元素并将其转化为大写。

Pycharm社区版下载操作Django相关推荐

  1. 【PyCharm中文教程 02】PyCharm 社区版下载与安装

    1. 下载链接 PyCharm for Windows :https://www.jetbrains.com/pycharm/download/#section=windows PyCharm for ...

  2. Pycharm社区版下载与安装教程

    一.下载 下载地址(官网):https://www.jetbrains.com/pycharm/download/#section=windows 上面有Windows,Mac,Linux三种不同的系 ...

  3. Pycharm社区版下载与安装

    目录 软件下载 软件安装 1.官网:PyCharm:JetBrains为专业开发者提供的Python IDE,点击下载 2.选择windows然后选择community免费版点击下载 软件安装 3.找 ...

  4. PyCharm社区版下载和安装 2022_12_11

    下载 下载地址:https://www.jetbrains.com/pycharm/download/#section=windows 安装 pycharm-community-2022.3.exe

  5. PyCharm社区版下载流程

    1.进入PyCharm官网,点击Dowmload进行下载. 2.下载完成后,打开.exe文件,点击next. 3.选择合适的路径,点击next. 4.选择64-bit launcher和.py 5. ...

  6. pyCharm 社区版搭建Django项目环境

    pyCharm 社区版搭建Django项目环境 文章目录 pyCharm 社区版搭建Django项目环境 前言 1.安装Django 2.创建Django Demo 项目 3. 创建应用: 4.启动 ...

  7. 1-3.Win10系统利用Pycharm社区版安装Django搭建一个简单Python Web项目的步骤之三

    在1-1.Win10系统利用Pycharm社区版安装Django搭建一个简单Python Web项目的步骤之一 基础上进行如下操作: 所有路由不能全部都在myDjango下的urls.py路由文件中, ...

  8. Pycharm社区版运行Django的三种方法(Pycharm添加配置参数快捷启动Django、Pycharm社区版Django项目创建)

    目录 Pycharm社区版运行Django的三种方法 Django安装和环境变量的配置(MacOS) 创建Project 启动Django Webserver 方法一:终端启动 方法二:pycharm ...

  9. PyCharm社区版的下载与安装

    原文链接:PyCharm社区版的下载与安装 PyCharm社区版的下载与安装 以PyCharm 2018.3.4社区版本为例: 打开:PyCharm官网,选择 Download 选择社区版下载 双击可 ...

最新文章

  1. redis4.0之基于LFU的热点key发现机制
  2. setTimeout 定时器的使用
  3. ifstream note
  4. java.rmi.server_java.rmi.ServerException:服务器线程中发生Remo...
  5. 如何求matlab的in(2.0375),matlab2012年课后习题及答案详解
  6. [零基础,全开源]基于web的远程深度学习服务搭建
  7. dim private public static_PHP中const,static,public,private,protected的区别
  8. python编写代码时零_python – KeyError:运行打包代码时为0L
  9. lamda表达式修改数据_图解sql面试题:如何按条件修改数据?
  10. c语言 结构体练习之 实现产品销售记录的相关功能
  11. opencms内容管理入门指南pdf_企业微信管理员训练营回顾(三) | 企业微信高效协作入门指南...
  12. hbase工作 架构原理
  13. Kali Linux 暴力破解 Excel密码
  14. JFianl项目中Controller层方法不进行权限校验-可以添加注解@UnCheck
  15. [CSP-S模拟测试]:赤壁情(DP)
  16. python学习日常-----作业(4)
  17. 2020年12月统考练习题
  18. 哈雷haley教你如何用你的手机测试你的移动端项目
  19. salt-stack部署
  20. HBase2.x(六)HBase API DML的操作

热门文章

  1. 关于海外问卷调查的一些问题
  2. 群晖搭建服务器(外网访问+开机自启动)
  3. 多个word vba批量替换文字(一个文件夹)
  4. 加入雷锋网,与智能未来同行
  5. java 邻接矩阵_Java中的邻接矩阵
  6. 关于操作Excel的各种库及方法
  7. 新能源汽车充电桩的相关标准
  8. IOS学习之UISwitch控件两种使用方法和监听
  9. 数据库web管理工具treesoft的安装与使用
  10. Python的数学建模课-02.数据导入