python Django基本介绍

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 热补丁动态修复框架小结

Android 热补丁动态修复框架小结转载于:https://www.cnblogs.com/zhujiabin/p/7923233.html

C语言中关于结构体的理解

在c语言中我们如果需要去表示一个学生的特征&#xff0c;例如名字年龄成绩&#xff0c;这些信息我们就需要用到结构体来描述了。 struct stu{char name[20]; //姓名int age; //年龄float score; //成绩 }; struct(结构体)&#xff1a;是由一系列具有相同类型…

GoldenGate Logdump基本使用

Logdump是GoldenGate复制软件中附带的一个工具软件&#xff0c;在OGG的目录下可以找到。这个工具主要用于分析OGG生成的队列文件&#xff0c;查找记录、统计队列文件中的数据等。 在OGG安装目录下执行logdump.exe or ./logdump即可进入命令行。 开始查找记录之前&#xff0c;先…

js 里面的键盘事件对应的键码

js 里面的键盘事件经常用到&#xff0c;所以收集了键盘事件对应的键码来分享下&#xff1a; keyCode 8 BackSpace BackSpace keyCode 9 Tab Tab keyCode 12 Clear keyCode 13 Enter keyCode 16 Shift_L keyCode 17 Control_L keyCode 18 Alt_L keyCode 19 Pause keyCo…

.bam.bai的意义_业务活动监视器(BAM)2.0带来的革命

.bam.bai的意义生产兼具精益和企业价值的中间件是一项艰巨的工作。 它要么不存在&#xff0c;要么需要创新的思维&#xff08;很多&#xff09;&#xff0c;并且需要在实现中反复进行。 业务风险很大&#xff0c;但是如果您做对了&#xff0c;它就会使您领先于其他任何公司。 这…

数据结构和算法之排序五:选择排序

我们上一篇谈到了冒泡排序&#xff0c;其实我也说了&#xff0c;这两个排序方式何其相似&#xff0c;如果掌握了冒泡排序再来进行选择排序的理解我觉得完全没有太大的问题。那么什么叫做选择排序呢&#xff1f;我们可以理解为矮子里面挑高个&#xff0c;比如说呀有一个富翁来到…

Visual Studio Code使用问题

1、打开vscode黑屏 右击vscode快捷方式–>属性–>兼容性—>兼容模式打钩 重启vscode就可以了。 2、vscode终端没有显示路径&#xff0c;不能输入 显示如下图 则关闭VS Code ,右键单击VS Code 图标&#xff0c;选择属性->兼容性&#xff0c;取消勾选 已兼容模式运…

Java社区调查结果:74%的开发人员希望减少详细程度

一个新的JDK增强建议&#xff08;JEP&#xff09;在Java社区中风起云涌&#xff1a;JEP286。该建议建议在Java的未来版本中引入局部变量类型推断&#xff0c;以简化Java应用程序的编写。 在下面的文章中&#xff0c;我们将解释它的含义以及它将如何影响您的代码。 新帖&#…

【BZOJ2300】[HAOI2011]防线修建 set维护凸包

【BZOJ2300】[HAOI2011]防线修建 Description 近来A国和B国的矛盾激化&#xff0c;为了预防不测&#xff0c;A国准备修建一条长长的防线&#xff0c;当然修建防线的话&#xff0c;肯定要把需要保护的城市修在防线内部了。可是A国上层现在还犹豫不决&#xff0c;到底该把哪些城市…

Sass笔记(CSS 的预编译语言)

在线转换&#xff1a;https://www.sass.hk/css2sass/ Sass 是一种 CSS 的预编译语言。它提供了 变量&#xff08;variables&#xff09;、嵌套&#xff08;nested rules&#xff09;、 混合&#xff08;mixins&#xff09;、 函数&#xff08;functions&#xff09;等功能。 S…

mysql 主从同步-读写分离

主从同步与读写分离测试 一、 实验环境(主从同步) Master centos 7.3 192.168.138.13 Slave centos 7.3 192.168.138.14 二、在master操作 安装并配置文件[rootlocalhost ~]# yum install mariadb-server …

coherence安装_Oracle Coherence:分布式数据管理

coherence安装本文介绍如何使用Oracle Coherence提供分布式&#xff08;分区&#xff09;数据管理。 在下面的示例应用程序中&#xff0c;创建了一个名为OTV的新集群&#xff0c;并且在该集群的两个成员之间分配了一个名为user-map的缓存对象。 二手技术&#xff1a; JDK 1.6.…

AtomicReference 原子引用

原创 2016年03月04日 13:35:2076381.简介 赋值操作不是线程安全的。若想不用锁来实现&#xff0c;可以用AtomicReference<V>这个类&#xff0c;实现对象引用的原子更新。 使用场景&#xff1a;一个线程使用student对象&#xff0c;另一个线程负责定时读表&#xff0c;更新…

MongoDB基础使用

5.MongoDB基础使用 5.1.常用的命令&#xff08;重点&#xff09; > Help 查看帮助 显示数据库列表 > show dbs 创建数据库 > use dbname 如果数据库不存在&#xff0c;则创建数据库dbname&#xff0c;否则切换到指定数据库dbname。创建的数据库并不在数据库的列表中…

使用一些可选的将字符串配置属性转换为其他类型

有一天&#xff0c;您遇到一些代码&#xff0c;并认为这很漂亮&#xff0c;为什么我没有想到呢&#xff1f; 因此&#xff0c;我的长期同事Mark Warner在使用方法引用处理从String进行转换的标准名称/值存储模式方面有一个不错的选择。 int size store.getProperty("cac…

AttributeError: module 're' has no attribute 'sub'

文件不能同名&#xff08;import re re.py)转载于:https://www.cnblogs.com/realmonkeykingsun/p/7992613.html

django-uwsgi配置

一、安装uwsgi uwsgi是一个应用服务器&#xff0c;非静态文件的网络请求就必须通过他完成&#xff0c;他也可以充当静态文件服务器&#xff0c;但不是它的强项。 注意&#xff1a;uwsgi必须安装在系统级别的Python环境中&#xff0c;不要安装到虚拟环境中。 uwsgi是使用pytho…

C++堆和栈详解(转)

一、预备知识—程序的内存分配 一个由C/C编译的程序占用的内存分为以下几个部分 1、栈区&#xff08;stack&#xff09;— 由编译器自动分配释放 &#xff0c;存放函数的参数值&#xff0c;局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区&#xf…

JavaFX技巧来节省内存! 属性和可观察物的阴影场

在 JavaFX的世界中&#xff0c; Properties API允许UI开发人员将值绑定到UI控件。 这种功能非常容易&#xff0c;但是当对象模型经常使用属性时&#xff0c;应用程序可能会很快耗尽内存。 我通常会编写两个单独的对象&#xff0c;例如pojo类和表示模型对象。 此技术通常在基于S…

nginx部署与小程序配置

nginx部署与小程序配置说明 1、安装nginx $ sudo apt-get update $ sudo apt-get install nginx2、配置https: 查看&#xff1a; https://help.aliyun.com/knowledge_detail/95491.html?spm5176.2020520154.cas.64.7dd7Quq8Quq8ap mkdir /opt/cert把证书上传到这个文件夹…