创建Django项目并运行
实验环境:
Ubuntu 16.04下安装好Anaconda3
Windows下安装好PyCharm
实验步骤
一、创建django工程
在Ubuntu 16.04下执行下面的命令。
(1)创建一个python3的虚拟环境(如果已经创建,忽略此步)
$ conda create --name py3 python=3
(2)进入该虚拟环境
$ conda activate py3
(3)安装django
$ conda install django
(4)新建项目
(注意: 由于编辑器版本之间的一些差别, 我们统一使用跟编辑器版本无关的通用方式创建项目。先在命令行创建项目,然后再设置PyCharm代码同步)
采用以下命令创建项目,projectname表示项目名可修改。
例如,创建名为hello_dj的工程。
$ django-admin startproject djtest11
使用tree命令查看目录结构,如果没有tree命令,则先安装。
$ sudo apt-get install tree
$ cd djtest11
$ tree
各文件作用如下:
二、使用PyCharm同步项目
(1)用PyCharm创建一个项目
解释器选择上面创建的虚拟环境中的python3.7,本示例中,解释器的路径为:
/home/hadoop/anaconda3/envs/py3/bin/python3.7
远端项目的路径选择上面创建的项目路径(注意不要选择内层同名的目录)。
点【确定】后效果如下:
点【Create】后完成创建。
(2)同步项目
选择【Tools】-【Deployment】-【Download …】下载项目文件到本地。
同步后的项目代码如下:
三、运行Django项目
(1)在PyCharm中,修改setting.py
将settings.py文件中的ALLOWED_HOSTS = [ ],改成ALLOWED_HOSTS = [’’]
ALLOWED_HOSTS = [’’]
默认情况下,修改后,文件会自动同步到Linux下。
开启服务有两种方式:
(3)通过下面命令开启服务
在Ubuntu16.04下开启服务,运行下面的命令(~/djtest11是项目目录):
$ cd ~/djtest11
$ python manage.py runserver 0.0.0.0:8000
(说明:按Ctrl+C可以退出运行)
(4)访问服务器
打开浏览器,输入地址
http://[IP]:8000/
(5)在PyCharm中开启服务
选择编辑器右上角的【Add Configuration】的按钮
点击【+】
点击添加【Django server 】
设置Name、修改Host为0.0.0.0,表示的是服务在哪个IP监听
点击【Fix】,在弹出窗口,选中【Django】,在右侧选择本地项目目录,选择Settings文件路径。
(说明,如果看不到【Fix】按钮,在【Environment variables】中添加名为“DJANGO_SETTINGS_MODULE”,值为“项目名.settings”的环境变量)
点击绿色三角形,启动服务
打开浏览器,输入地址
http://[IP]:8000/
视图与路由
一、简单的URL路由
(1)创建视图函数
在settings.py同级目录创建views.py文件.
(2)定义视图对应的URL
修改urls.py,修改(默认修改完,文件会同步到Linux端)
(3)服务启动后,在浏览器中输入:
http://[IP]:8000/hello
就能看到网页中出现”hello django!!!”
二、使用尖括号(<>)从url中捕获值
(1)继续创建视图函数
(2)继续定义视图对应的URL
(3)在浏览器中输入:
http://[IP]:8000/hello2/tom/
就能看到网页中出现”hello tom!!!”
说明,如果期望对捕获值进行类型转换,可以采用转换器:
path(‘hello2/int:age/’, views.test2),
默认支持的转换器:
str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式.
int,匹配正整数,包含0。
slug,匹配字母、数字以及横杠、下划线组成的字符串。
uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
path,匹配任何非空字符串,包含了路径分隔符
路径匹配还可以采用re_path正则匹配,
如: re_path(‘hello/$’,views.test5)、re_path('hello/(?P[0-9]+)/’,views.test6),
这里不再深入讨论。
新建APP
一、创建APP
方法一:Linux下运行命令创建APP
(1)在项目目录下,执行创建APP命令
$ cd ~/djtest11
$ python manage.py startapp music
创建后,可以看到目录结构
$ tree
(2)在PyCharm中,将项目代码下载到本地
方法二:PyCharm中创建APP
(1) Run manage.py Task
在下方的命令提示界面中,
输入: startapp book
(3)在PyCharm中,将项目代码下载到本地,方法同上。
二、在APP中创建视图
(1)创建视图函数
(2)在刚才创建的book这个APP下,选中view.py,输入以下代码,创建视图函数。
(3)为视图配置url
三、启动服务并测试
按上面的方法启动服务
在浏览器中输入:http://[IP]:8000/book,就能看到网页中出现”book”啦!!!