一个完整的Django入门指南
Python绿色通道
共 4334字,需浏览 9分钟
·
2021-01-21 09:06
译者:vimiix
原文地址:https://simpleisbetterthancomplex.com/series/2017/09/04/a-complete-beginners-guide-to-django-part-1.html
三条:简单3步,Pycharm 中运行 Django! 四条:Django提速手册:为Django应用提速! 五条:“工资3000,一年存了20万”:掌握理财技能,让我少奋斗10年!?.
↑ 关注 + 星标 ,每天学Python新技能
后台回复【大礼包】送你Python自学大礼包
为什么要学习Django?
CRUD
(增删改查) 操作并且自动生成页面的后台管理界面,生成订阅文档(RSS/Atom),站点地图等。甚至在django中内建了一个地理信息系统(GIS)框架。谁在使用Django?
安装
使用虚拟环境不是强制性的,但是我还是强烈建议大家这样做。如果你是一个初学者,那么最好形成一个良好的开端。
安装 Python 3.6.2
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
==> Installation successful!
==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
https://docs.brew.sh/Analytics.html
==> Next steps:
- Run `brew help` to get started
- Further documentation:
https://docs.brew.sh
brew install python3
python
启动。如果想运行Python 3,则使用python3
来启动。python3 --version
Python 3.6.2
安装 Virtualenv
pip3
。sudo pip3 install virtualenv
mkdir myproject
cd myproject
virtualenv venv -p python3
source venv/bin/activate
Python
命令时,它将使用我们存储在venv里面的本地副本,而不是我们之前在操作系统中安装的那个。python
(而不是python3
)来调用Python 3.6.2,并且仅使用pip
(而不是pip3
)来安装软件包。deactivate
安装 Django 1.11.4
pip install django
启动一个新项目,执行下面的命令来创建一个新的 Django 项目:
django-admin startproject myproject
myproject/ <-- 高级别的文件夹
|-- myproject/ <-- Django项目文件夹
| |-- myproject/
| | |-- __init__.py
| | |-- settings.py
| | |-- urls.py
| | |-- wsgi.py
| +-- manage.py
+-- venv/ <-- 虚拟环境文件夹
manage.py:使用django-admin命令行工具的快捷方式。它用于运行与我们项目相关的管理命令。我们将使用它来运行开发服务器,运行测试,创建迁移等等。 __init.py:这个空文件告诉python这个文件夹是一个python包。 settings.py:这个文件包含了所有的项目配置。将来我们会一直提到这个文件! urls.py:这个文件负责映射我们项目中的路由和路径。例如,如果你想在访问URL / about/
时显示某些内容,则必须先在这里做映射关系。wsgi.py:该文件是用于部署的简单网关接口。你可以暂且先不用关心她的内容,就先让他在那里就好了。
python manage.py runserver
Control + C
来终止开发服务器。Django 应用
app:是一个可以做完成某件事情的Web应用程序。一个应用程序通常由一组models(数据库表),views(视图),templates(模板),tests(测试) 组成。 project:是配置和应用程序的集合。一个项目可以由多个应用程序或一个应用程序组成。
django-admin startapp boards
myproject/
|-- myproject/
| |-- boards/ <-- 我们新的Django应用(app)!
| | |-- migrations/
| | | +-- __init__.py
| | |-- __init__.py
| | |-- admin.py
| | |-- apps.py
| | |-- models.py
| | |-- tests.py
| | +-- views.py
| |-- myproject/
| | |-- __init__.py
| | |-- settings.py
| | |-- urls.py
| | |-- wsgi.py
| +-- manage.py
+-- venv/
migrations/:在这个文件夹里,Django会存储一些文件以跟踪你在models.py文件中创建的变更,用来保持数据库和models.py的同步。 admin.py:这个文件为一个django内置的应用程序Django Admin的配置文件。 apps.py:这是应用程序本身的配置文件。 models.py:这里是我们定义Web应用程序数据实例的地方。models会由Django自动转换为数据库表。 tests.py:这个文件用来写当前应用程序的单元测试。 views.py:这是我们处理Web应用程序请求(request)/响应(resopnse)周期的文件。
INSTALLED_APPS
变量:INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
INSTALLED_APPS
列表即可:INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'boards', # 译者注:建议和作者一样空一行来区别内置app和自定义的app
]
Hello, World!
from django.http import HttpResponse
def home(request):
return HttpResponse('Hello, World!')
httprequest
对象并返回一个httpresponse
对象的Python函数。接收 request 作为参数并返回 response 作为结果。这个流程你必须记住!from django.conf.urls import url
from django.contrib import admin
from boards import views
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^admin/', admin.site.urls),
]
url(r'^ $',views.home,name ='home')
并从我们的应用程序boards中导入了views模块通过from boards import views
。^$
正则,它将匹配一个空路径,也就是主页(这个URL:http://127.0.0.1:8000 )。如果我想匹配的URL是 http://127.0.0.1:8000/homepage/ ,那么我的URL正则表达式就会是:url(r'^homepage/$', views.home, name='home')
。python manage.py runserver
总结
见面礼
扫码加我微信备注「三剑客」送你上图三本Python入门电子书
推荐阅读
点分享 点收藏 点点赞 点在看
评论