创建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”啦!!!

python Django基本介绍相关推荐

  1. python django flask介绍_django和flask哪个值得研究学习

    对于初学者来说,找到一个好的框架来学习或者项目开发都是非常有必要的,而当你有一定开发经验后,你应该选择适合当前业务需要的框架.我这里并不想探讨哪个框架好哪个不好,这个永恒的话题就跟探讨"世界 ...

  2. python django flask介绍_Python开发WEB框架Flask详细介绍

    Flask简介 Flask是一个相对于Django而言轻量级的Web框架. 和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模 ...

  3. python网站设计理念_简单介绍下python Django框架的历史,设计理念及优势_Django讲解2...

    简单介绍下python Django框架的历史,设计理念及优势 Django是一个高层次的 Python Web 框架,它是一个鼓励快速开发和干净,实用的框架设计.Django可以更容易地快速构建更好 ...

  4. python+django勤工助学管理系统Vue项目介绍

    对于勤工助学管理系统网站,主要包括管理员.学生.老师.三个用户角色,由于用户角色不同,所对应的功能模块不同,对于后台所使用的功能主要是后台预约报名,并且根据自己的需求进行报名等操作,并且管理员可以根据 ...

  5. python个人博客搭建说明书_技术分享|利用Python Django一步步搭建个人博客(二)...

    原标题:技术分享|利用Python Django一步步搭建个人博客(二) Hello,欢迎来到我们的"利用Python Django一步步搭建个人博客"系列的第二部分.在第一部分中 ...

  6. python django事务transaction源码分析

    2019独角兽企业重金招聘Python工程师标准>>> python Django事务 网上关于django1.6的事务资料很多,但是1.8的却搜不到任何资料,自己要用的时候费了不少 ...

  7. Python+Django+Ansible Playbook自动化运维项目实战(二)

    Python+Django+Ansible Playbook自动化运维项目实战 一.资产管理,自动化发现.扫描 1.服务端资产探测.扫描发现 1)资产管理的资产: 2)抽象与约定: 2.探测协议和模块 ...

  8. Python+Django+Ansible Playbook自动化运维项目实战:资产管理

    Python+Django+Ansible Playbook自动化运维项目实战 一.资产管理,自动化发现.扫描 1.服务端资产探测.扫描发现 1)资产管理的资产: 2)抽象与约定: 2.探测协议和模块 ...

  9. 如何在Python Django中处理用户身份验证

    by Mohammed Subhan Khan 由Mohammed Subhan Khan 如何在Python Django中处理用户身份验证 (How to handle user authenti ...

最新文章

  1. Android开发--RadioButton和CheckBox控件的使用
  2. mysql汉化版不同_Mysql各个版本区别及官网下载
  3. 上海交通大学乐经良高数手写笔记-一元积分学
  4. 【深度学习】有个洋人小哥把整个 CNN 都给可视化了,卷积、池化清清楚楚!...
  5. noip2017d2t2
  6. ES6模块的import和export用法总结
  7. 2014年考研英语一翻译知识点
  8. unity连接mysql并读取所有数据库_Unity 3D 连接Mysql数据库
  9. 后缀表达式/逆波兰表达式
  10. 病毒分析四:steam盗号病毒
  11. PCB线宽与电阻的计算
  12. input()函数的简单介绍
  13. 金山词霸 [2009牛津版] 金山词霸pdf插件
  14. AI 教你画油画:任意画风都可驾驭
  15. Java小白踩坑录 - Shadowing Obscuring 揭秘
  16. 压缩视频用什么软件比较好?
  17. 流体动力学控制方程(详细推导)
  18. c# 读取excels
  19. 关于128X8静态存储器芯片设计(转)
  20. 程序员,工作后还能找到女朋友吗?

热门文章

  1. RS485串口光端机产品功能特点介绍
  2. 【渝粤题库】陕西师范大学164104 网络财务管理 作业(高起专)
  3. java输出链表的值_[剑指offer] 从尾到头打印链表(三种方法) java
  4. lock mysql unlock_MySQL中的lock tables和unlock tables
  5. android 日期相,Android日历始终保持相同的日期
  6. oracle12c asmfd,Oracle 12C R2-新特性-自动配置ASMFD
  7. php加mySQL制作网络硬盘_PHP实现的简单网络硬盘
  8. gNB,ng-eNB和NR
  9. linux开机自动启动开机日志,设置linux开机自动运行脚本
  10. 逸出 java_【java】知识系谱-基础篇-线程-发布、逸出