django入门教程
2019-06-16 本文已影响0人
想旅游的程序员
安装django
pip install django #安装最新版本的django
pip install django==版本号
例:pip install django==1.11 #安装1.11版本的django
django-admin --version #测试django是否安装成功
第一个Django项目
1. cd 工作空间
2. 执行django-admin startproject [项目名称](即创建一个项目)
打开整个项目,查看项目的整体结构
|– mysite/ #项目文件夹
|– mysite/ #项目根模块 |–init.py #项目模块定义文件 |–settings.py #Django项目配置文件 |–urls.py #网站路由配置文件 |–wsgi.py #WSGI网关接口操作文件 |–manage.py #项目执行模块,命令行执行命令时使用,不要修改
项目启动
-
默认Django项目占据8000端口,如果我们需要修改,则在命令(python manage.py runserver 9999)后直接加上端口号
-
指定特定ip和端口完后才能访问(pythhon manage.py 192.168.13.44:9000 )
- 这个时候会出错,修改:在setting.py配置文件中的ALLOWED_HOSTS配置中加入对应的ip地址
-
第二种方法,虽然好用,但是我们发现这样做,只能让配置到 ALLOWED_HOSTS 中的ip 地址可以访问我们的项目,如果我们想要所有人都访问呢?
-
可以在 ALLOWED_HOSTS 中配置为*,匹配任意 ip 地址。之后启动项目使用命令如下:
-
python manage.py runserver 0.0.0.0:9000 #使用 0 匹配任意 ip 地址
-
-
Django在1.9之后开始一直支持中文,修改setting.py中的LANGUAGE_CODE为zh-Hans
创建一份模块应用
- 首先进入到项目的主目录中,之后执行Django-admin startapp 模块名称
#进入项目文件夹
cd mysite/
#创建第一个博客应用
django-admin startapp blog
完成后,项目结构如下:
|– mysite/
|–mysite/ |–manage.py |–blog/ #模块应用目录 |–migrations/ #数据库数据持久化配置 |–admin.py #后台管理操作文件 |–apps.py #应用名称配置文件 |–models.py #应用模型类定义文件 |–tests.py #应用功能测试文件 |–views.py #应用视图文件
- 模块创建完成后,Django根项目还不知道新增加了一个模块,所以需要我们将新创建的模块告诉根项目,打开根项目模块下的setting.py文件,找到INSTALLED_APPS选项:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 告诉根项目,我新增了一个模块
'blog',
]
创建模块中第一个视图处理函数
- 打开myblog/views.py视图处理文件,添加视图处理函数如下:
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
print("博客首页")
return HttpResponse("<h1>博客首页</h1>")
- 在模块目录下创建一个新的urls.py文件,用来完成模块本身的路由配置:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r"^index/$",views.index,name="index"),
]
- 上面我们是在模块本身中进行的路由配置和视图对应函数,等完成这些配置后,我们需要通知根项目,将我们的配置添加到根项目中去,在根项目的urls.py文件中配置,如下:
from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include
#导入视图文件
from . import views
urlpatterns=[
url(r'^admin/',admin.site.urls),
url(r'^blog/',include("blog.urls")),
url(r"^$",views.index,name="index"),
]
- 接下来就可以启动项目了
python manage.py runserver