python3 django开发_python3开发进阶-Django框架起飞前的准备

本文详细介绍了如何使用Python3安装Django 1.11.11,创建并运行一个Django项目。内容包括通过pip或PyCharm安装Django,创建项目,理解项目目录结构,运行Django服务器,以及配置模板和静态文件。此外,还提到了Django的基础组件如HttpResponse、render和redirect,并解决了启动项目时可能出现的常见错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阅读目录

一、安装(安装最新LTS版)

1753308827cb9e375b5eb4dda32f920c.png

根据官方的图版本,我们下载1.11版本的,最好用!

有两种下载方式一种直接cmd里:

pip3 install django==1.11.11

PS:说有命令不存在的童鞋可以去面壁了,环境变量的问题我们就不说了,自己去找度娘搞定

第二种就是在pycharm里装,又方便又快捷:

f26e7500f1054e675068ce351c0b3519.png

4d6cfc82b79656aab91ca1b3cb735b7b.png

下载好之后,就是创建项目了!

二、创建一个django项目

下面的命令创建了一个名为"mysite"的Django 项目:

django-admin startproject mysite

ps:出现命令不存在的小伙伴,自己去面壁。。。

还有一种就是pycharm创建项目:

①、

01453f03af38ed40646b6b998b22f0e8.png

②、

4485e219b57590fa5259ddd76c967a06.png

③、

1afad433d050244a9d4e8b121316895f.png

创建好之后,我们看到的是下面的目录结构:

目录介绍:

mysite/├── manage.py # 管理文件

└── mysite # 项目目录

├── __init__.py

├── settings.py # 配置

├── urls.py # 路由 -->URL和函数的对应关系

└── wsgi.py # runserver命令就使用wsgiref模块做简单的web server

文件的具体详解:(官方文档地址)

外层 mysite/ 目录只是你项目的一个容器。对于 Django 来说该目录名并不重要; 你可以重命名为你喜欢的。

manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。 你可以在 django-admin.py and manage.py 中查看关于 manage.py 所有的细节。

内层 mysite/ 目录是你项目中的实际 Python 包。该目录名就是 Python 包名,通过它你可以导入它里面的任何东西。 (e.g. import mysite.settings).

mysite/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。(如果你是 Python 新手,请查看官方文档了解 关于包的更多内容 。)

mysite/settings.py: 该 Django 项目的设置/配置。请查看 Django settings 将会告诉你如何设置。

mysite/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站“目录”。请查看 URL dispatcher 可以获取更多有关 URL 的信息。

mysite/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。请查看 How to deploy with WSGI 获取更多细节。

三、运行Django项目

python manage.py runserver #127.0.0.1:8000 默认的ip和端口

python manage.py runserver 127.0.0.1:8000 #随意的ip和端口都可以自定义

PS:看到这个又有同学命令不存在!!!

不怕还有简单方法:

991c630db6fc5262cf8f51732f9f5673.png

c7e423e013fdb02804195a25985c279f.png

d768b9a7ad09fb327a6c03a09bf5084b.png

四、配置文件的说明

模板文件配置:

TEMPLATES =[

{

'BACKEND': 'django.template.backends.django.DjangoTemplates',

'DIRS': [os.path.join(BASE_DIR, "template")], # template文件夹位置

'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',

],

},

},

]

静态文件配置:

STATIC_URL = '/static/' # HTML中使用的静态文件夹前缀

STATICFILES_DIRS =[

os.path.join(BASE_DIR, "static"), # 静态文件存放位置

]

看不明白?有图有真相:

b56adbe6cb2efc7e116307d6118a0b55.png

刚开始学习时可在配置文件中暂时禁用csrf中间件,方便表单提交测试

0642a1491252daf1d5f9e5995559923f.png

MIDDLEWARE =[

'django.middleware.security.SecurityMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

# 'django.middleware.csrf.CsrfViewMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

]

五、Django基础必备三个组件:

from django.shortcuts import HttpResponse, render, redirect

HttpResponse

内部传入一个字符串参数,返回给浏览器。

例如:

defindex(request):

# 业务逻辑代码

return HttpResponse("OK")

render

除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。

将数据填充进模板文件,最后把结果返回给浏览器。(类似于我们上面用到的jinja2)

例如:

defindex(request):

# 业务逻辑代码

return render(request, "index.html", {"name": "duoduo", "hobby": ["烫头", "泡吧"]})

redirect

接受一个URL参数,表示跳转到指定的URL。

例如:

defindex(request):

# 业务逻辑代码

return redirect("/home/")

重定向是怎么回事?

231d5b6a22b09d948de5e8607df3dcc0.png

启动Django报错:

Django 启动时报错 UnicodeEncodeError ...

报这个错误通常是因为计算机名为中文,改成英文的计算机名重启下电脑就可以了。

Django 启动报错“SyntaxError: Generator expression must be parenthesized”

报这个错很大可能是因为使用了Python3.7.0,而目前(2018-06-12)Python3.7.0和Django还有点兼容性问题,换回Python3.6的环境即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值