发布网友 发布时间:2024-09-27 02:40
共1个回答
热心网友 时间:2024-10-09 23:06
导读:本篇文章首席CTO笔记来给大家介绍有关django开发用哪个版本的相关内容,希望对大家有所帮助,一起来看看吧。
如何创建一个Django网站本文演示如何创建一个简单的django网站,使用的django版本为1.7。
1.创建项目
运行下面命令就可以创建一个django项目,项目名称叫mysite:
$django-admin.pystartprojectmysite
创建后的项目目录如下:
mysite
├──manage.py
└──mysite
├──__init__.py
├──settings.py
├──urls.py
└──wsgi.py
1directory,5files
说明:
__init__.py:让Python把该目录当成一个开发包(即一组模块)所需的文件。这是一个空文件,一般你不需要修改它。
manage.py:一种命令行工具,允许你以多种方式与该Django项目进行交互。键入pythonmanage.pyhelp,看一下它能做什么。你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
settings.py:该Django项目的设置或配置。
urls.py:Django项目的URL路由设置。目前,它是空的。
wsgi.py:WSGIweb应用服务器的配置文件。更多细节,查看HowtodeploywithWSGI
接下来,你可以修改settings.py文件,例如:修改LANGUAGE_CODE、设置时区TIME_ZONE
如何在pythonenv中使用高版本django
安装Virtualenv和Python3(因为有些Linux发行版默认没有安装Python3的)
sudopipinstallvirtualenv
sudoapt-getinstallpython3
建立一个新的工作环境
virtualenv--no-site-packages--python=python3.4test_env
如果出现Theexecutablepythondoesnotexist错误,那么可以这样使用
virtualenv--no-site-packages--python=3.4test_env
其中,–no-site-packages表示不包括系统全局的Python安装包,这样会更令环境更干净
–python=python3.4指定Python的版本未系统已经安装了的Python3.4
test_env是建立的环境的名称
进入环境测试并安装Django
使用sourcetest_env/bin/activate命令进入开发环境,然后查看Python版本,再使用pipinstalldjango安装django
?virtualenv
?virtualenvls
test_env
?virtualenvsourcetest_env/bin/activate#如果是windows则是sourcetest_env/Script/activate
(test_env)?virtualenvpython
Python3.4.0(default,Apr112014,13:05:11)
[GCC4.8.2]onlinux
Type"help","copyright","credits"or"license"formoreinformation.
importdjango
Traceback(mostrecentcalllast):
File"stdin",line1,inmole
ImportError:Nomolenamed'django'
exit()
(test_env)?virtualenvpipinstalldjango
Collectingdjango
UsingcachedDjango-1.7.3-py2.py3-none-any.whl
Installingcollectedpackages:django
Successfullyinstalleddjango-1.7.3
(test_env)?virtualenvpython
Python3.4.0(default,Apr112014,13:05:11)
[GCC4.8.2]onlinux
Type"help","copyright","credits"or"license"formoreinformation.
importdjango
importdjango没有发生错误,证明已经成功安装Django了
如何在Django1.6结合Python3.4版本中使用MySql关于Django1.6中DATABASES的设置也是一样不用做任何修改,跟以前MySQLdb的时候一样,如下所示:
1DATABASES={
2'default':{
3'ENGINE':'django.db.backends.mysql',#数据库引擎
4'NAME':'test',#数据库名
5'USER':'root',#用户名
6'PASSWORD':'root',#密码
7'HOST':'',#数据库主机,默认为localhost
8'PORT':'',#数据库端口,MySQL默认为3306
9'OPTIONS':{
10'autocommit':True,
11},
12}
13}
最关键的一点,在站点的__init__.py文件中,我们添加如下代码:
1importpymysql
2pymysql.install_as_MySQLdb()
做完上述动作后,即可在django中访问mysql了。
如何windows7下搭建django开发环境安装python
由于之前《01Windows7系统下安装Python》已经详细介绍过python的安装这里不再赘述;
安装ipython
ipython是一个python的交互式shell,比默认的pythonshell好用得多,支持变量自动补全,自动缩进,支持
bashshell命令,内置了许多很有用的功能和函数。在windows7下只要pipinstallipython
就装好了,通过ipython启动。
安装django
1、通过pip安装在windows7下只要pipinstalldjango就装好了。
2、也可以通过源码安装,gitclone下载源码;通过pythonsetup.pyinstall安装;
创建第一个django应用
安装django后会有django-admin命令,通过django-adminstartprojectmysite即可创建;
进入目录通过pythonmanage.pyrunserver.启动应用
为什么在mac,python2.7里安装不了django一.下载Django
如果电脑没安装python,点击这里。然后从这里下载Django稳定版本。
或者执行命令下载Django最新版本:gitclone
这里我用的是Mac自带的python2.7,下载是最新版本的Django后发现python2.7版本需要升级,但是注意,对iOS开发者来说,最好不要升级python2.7到python3,因为Xcode只支持最稳定版的python2.7脚本。所以这里我下载的Django版本是1.6.1。
二.安装Django
cdDjangosudopythonsetup.py.install
Python默认在/Library/Python/2.7中,那么无论如何你在哪里安装完DJango,都会在/Library/Python/2.7/site-packages中生成一个django的文件夹。如果要删除django,只需要把该目录下的django文件夹删除即可。
三.测试LocalHost是否成功
sudomkdir~/Djangodemo
/*创建一个用于测试Localhost的网站样例*/
sudodjango-admin.pystartprojecttestLocalHost
cdtestLocalHost
pythonmanage.pyrunserver
浏览器打开,成功的话你将会看到Django的简单的成功页面
说明:django-admin.py在我们安装完Django之后除了在site-packages中生成django文件夹之外(里面都是一些DJango命令的一些文件和代码),在/usr/local/bin/中也生成了一个名为django-admin.py的链接,这样无论你在何种路径下都可以直接调用django-admin.py文件了。在Win下我们称这个过程为:加入到环境变量。
四.文件结构
1.创建mysite工程
删除原来的LocalHost工程,创建mysite工程,执行命令:$mkdirmysite
$django-admin.pystartporjectmysite
此时的目录结构如下:
mysite/
mysite/
__init__.py
settings.py
urls.py
manage.py
2.manage.py
作用:
把该工程的包加入了sys.path;以后你可以直接在你的代码中引用该工程中其他的包。
加载DJANGO_SETTINGS_MODULE,指明该工程的配置文件是mysite/settings.py。
最主要的是它包裹了django-admin.py的一些函数,让你可以通过它来操作整个工程。
3.__init__.py
严格意义上讲__init__.py不属于DJango的范畴,而是Python语言的一种习惯,经常为空文件。主要是告诉工程这是一个包(Package),防止不经意间因为包名为诸如String之类的字符串而引起的混乱,当然你也可以在里面加一些初始化的函数,但不在我们的讨论之列。
4.settings.py
此前我们提到了manage.py的第二件工作便是指定了它是工程的配置文件,那它配置了些什么呢?代码量在其他几个文件中属于比较多的,有一百行的样子,主要设置了关于数据库,后台管理等配置,等到我们要用的时候再详细说明。
5.urls.py
它负责把客户的请求翻译成函数调用。是重要要掌握的文件。
DJango通过settings.py中指定的URLconf参数找到对应的urls.py文件,此例中正好为我们的这个文件。
DJango在urls.py中找到urlpatterns变量。
DJango收到一个客户地址请求,我们不妨设为localhost。
DJango在urlpatterns中顺序遍历正则式,找到第一个匹配,调用该正则式对应的函数。
该函数返回客户端所请求的内容。
对开发者来说,真正需要关心的是如何完成正则表达式和对应函数的对应。如下面例子:
123
urlpatterns=patterns("",url(r'^$','hello.views.home'),)
说明:其中url里面左半部分是正则式,右半部分是函数调用。r说明是raw匹配,表明正则表达式要求每个字符都必须被匹配,是一个可选项,如果不能理解可以省略。^表示匹配开始,$表示匹配结束。所以这个正则表达式匹配了空字符,正好符合地址为localhost的客户请求(DJango收到的请求会自动省略域名,即localhost,即真正的请求字符串为空)。右侧表明腰调用名为hello的app的views.py文件的home函数。
6.增加helloapp
刚才我们在url匹配的时候调用了home函数,此时我们就开始创建它:
pythonmanage.pystartapphello
这样我们在manage.py同级目录下生成了hello目录,进入hello目录其他文件都不用管,也不需要理解,直接打开views.py编辑成如下样子:
fromdjango.httpimportHttpResponse
defhome(request):
returnHttpResponse("HelloWorld")
启动服务器。其实hello相当于是一个app应用被添加进了mysite工程,当特定的请求到来时通过url匹配调用相应app下的views.py中的函数来达到不同的显示效果。
五.Django-URL解析和匹配
1.patterns()函数
patterns函数的的原型:
patterns(prefix,pattern_description,...)
其中prefix表示函数调用的前缀,而pattern_description则是一系列的元组。举例说明prefix的作用:
urlpatterns=patterns("hello.views",
url(r'^$','home'),
)
上例和上例的执行效果一样,都表明了helloapp下的views文件里的home函数。注意:前缀末尾不必包含“.”;另外因为python函数规定参数不能多于255个,因此如果你的映射关系很多,可以利用诸如:urlpatterns+=patterns(…)这种形式累加。
2.url()函数
url函数的原型:
1
url(regex,view,kwargs=None,name=None,prefix='')
其中后三项是可选项,在我们的例子中:regex=”r’^$'”;view=”hello.views.home”;name项给该url命名,这在未来通过name反向确定url有很大的作用;kwargs则传递额外的参数;prefix和此前的prefix作用一致,不过只适用这一条url。
3.通过url传递信息
DJango在通过url传递参数时有两种方式,一种通过位置,一种通过关键词。我们先看第一种,改此前的映射关系如下:
1
url(r'^(\d{4})/(\d{2})$','hello.views.home'),
修改hello/views.py,增加两行代码如下:
defhome(request,year='0000',month='00'):
returnHttpResponse("HelloWorld"+year+""+month)
这样当用户请求locahost:8000/2015/5时候,相当于在调用home(request,‘2015’,’5’),注意此时year和month的相对关系,因为参数传递是基于位置信息的,第一个是4个数字是年,第二个2个数字是月。
下面是第二种,即关键词方式,我们修改两个文件如下:
#mysite/urls.py
url(r'^(?P\d{4})/(?P\d{2})$','hello.views.home'),
#hello/views.py
#注意year和month的位置
defhome(request,month='00',year='0000'):
returnHttpResponse("HelloWorld"+year+""+month)
结语:以上就是首席CTO笔记为大家介绍的关于django开发用哪个版本的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。
热心网友 时间:2024-10-09 23:06
导读:本篇文章首席CTO笔记来给大家介绍有关django开发用哪个版本的相关内容,希望对大家有所帮助,一起来看看吧。
如何创建一个Django网站本文演示如何创建一个简单的django网站,使用的django版本为1.7。
1.创建项目
运行下面命令就可以创建一个django项目,项目名称叫mysite:
$django-admin.pystartprojectmysite
创建后的项目目录如下:
mysite
├──manage.py
└──mysite
├──__init__.py
├──settings.py
├──urls.py
└──wsgi.py
1directory,5files
说明:
__init__.py:让Python把该目录当成一个开发包(即一组模块)所需的文件。这是一个空文件,一般你不需要修改它。
manage.py:一种命令行工具,允许你以多种方式与该Django项目进行交互。键入pythonmanage.pyhelp,看一下它能做什么。你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
settings.py:该Django项目的设置或配置。
urls.py:Django项目的URL路由设置。目前,它是空的。
wsgi.py:WSGIweb应用服务器的配置文件。更多细节,查看HowtodeploywithWSGI
接下来,你可以修改settings.py文件,例如:修改LANGUAGE_CODE、设置时区TIME_ZONE
如何在pythonenv中使用高版本django
安装Virtualenv和Python3(因为有些Linux发行版默认没有安装Python3的)
sudopipinstallvirtualenv
sudoapt-getinstallpython3
建立一个新的工作环境
virtualenv--no-site-packages--python=python3.4test_env
如果出现Theexecutablepythondoesnotexist错误,那么可以这样使用
virtualenv--no-site-packages--python=3.4test_env
其中,–no-site-packages表示不包括系统全局的Python安装包,这样会更令环境更干净
–python=python3.4指定Python的版本未系统已经安装了的Python3.4
test_env是建立的环境的名称
进入环境测试并安装Django
使用sourcetest_env/bin/activate命令进入开发环境,然后查看Python版本,再使用pipinstalldjango安装django
?virtualenv
?virtualenvls
test_env
?virtualenvsourcetest_env/bin/activate#如果是windows则是sourcetest_env/Script/activate
(test_env)?virtualenvpython
Python3.4.0(default,Apr112014,13:05:11)
[GCC4.8.2]onlinux
Type"help","copyright","credits"or"license"formoreinformation.
importdjango
Traceback(mostrecentcalllast):
File"stdin",line1,inmole
ImportError:Nomolenamed'django'
exit()
(test_env)?virtualenvpipinstalldjango
Collectingdjango
UsingcachedDjango-1.7.3-py2.py3-none-any.whl
Installingcollectedpackages:django
Successfullyinstalleddjango-1.7.3
(test_env)?virtualenvpython
Python3.4.0(default,Apr112014,13:05:11)
[GCC4.8.2]onlinux
Type"help","copyright","credits"or"license"formoreinformation.
importdjango
importdjango没有发生错误,证明已经成功安装Django了
如何在Django1.6结合Python3.4版本中使用MySql关于Django1.6中DATABASES的设置也是一样不用做任何修改,跟以前MySQLdb的时候一样,如下所示:
1DATABASES={
2'default':{
3'ENGINE':'django.db.backends.mysql',#数据库引擎
4'NAME':'test',#数据库名
5'USER':'root',#用户名
6'PASSWORD':'root',#密码
7'HOST':'',#数据库主机,默认为localhost
8'PORT':'',#数据库端口,MySQL默认为3306
9'OPTIONS':{
10'autocommit':True,
11},
12}
13}
最关键的一点,在站点的__init__.py文件中,我们添加如下代码:
1importpymysql
2pymysql.install_as_MySQLdb()
做完上述动作后,即可在django中访问mysql了。
如何windows7下搭建django开发环境安装python
由于之前《01Windows7系统下安装Python》已经详细介绍过python的安装这里不再赘述;
安装ipython
ipython是一个python的交互式shell,比默认的pythonshell好用得多,支持变量自动补全,自动缩进,支持
bashshell命令,内置了许多很有用的功能和函数。在windows7下只要pipinstallipython
就装好了,通过ipython启动。
安装django
1、通过pip安装在windows7下只要pipinstalldjango就装好了。
2、也可以通过源码安装,gitclone下载源码;通过pythonsetup.pyinstall安装;
创建第一个django应用
安装django后会有django-admin命令,通过django-adminstartprojectmysite即可创建;
进入目录通过pythonmanage.pyrunserver.启动应用
为什么在mac,python2.7里安装不了django一.下载Django
如果电脑没安装python,点击这里。然后从这里下载Django稳定版本。
或者执行命令下载Django最新版本:gitclone
这里我用的是Mac自带的python2.7,下载是最新版本的Django后发现python2.7版本需要升级,但是注意,对iOS开发者来说,最好不要升级python2.7到python3,因为Xcode只支持最稳定版的python2.7脚本。所以这里我下载的Django版本是1.6.1。
二.安装Django
cdDjangosudopythonsetup.py.install
Python默认在/Library/Python/2.7中,那么无论如何你在哪里安装完DJango,都会在/Library/Python/2.7/site-packages中生成一个django的文件夹。如果要删除django,只需要把该目录下的django文件夹删除即可。
三.测试LocalHost是否成功
sudomkdir~/Djangodemo
/*创建一个用于测试Localhost的网站样例*/
sudodjango-admin.pystartprojecttestLocalHost
cdtestLocalHost
pythonmanage.pyrunserver
浏览器打开,成功的话你将会看到Django的简单的成功页面
说明:django-admin.py在我们安装完Django之后除了在site-packages中生成django文件夹之外(里面都是一些DJango命令的一些文件和代码),在/usr/local/bin/中也生成了一个名为django-admin.py的链接,这样无论你在何种路径下都可以直接调用django-admin.py文件了。在Win下我们称这个过程为:加入到环境变量。
四.文件结构
1.创建mysite工程
删除原来的LocalHost工程,创建mysite工程,执行命令:$mkdirmysite
$django-admin.pystartporjectmysite
此时的目录结构如下:
mysite/
mysite/
__init__.py
settings.py
urls.py
manage.py
2.manage.py
作用:
把该工程的包加入了sys.path;以后你可以直接在你的代码中引用该工程中其他的包。
加载DJANGO_SETTINGS_MODULE,指明该工程的配置文件是mysite/settings.py。
最主要的是它包裹了django-admin.py的一些函数,让你可以通过它来操作整个工程。
3.__init__.py
严格意义上讲__init__.py不属于DJango的范畴,而是Python语言的一种习惯,经常为空文件。主要是告诉工程这是一个包(Package),防止不经意间因为包名为诸如String之类的字符串而引起的混乱,当然你也可以在里面加一些初始化的函数,但不在我们的讨论之列。
4.settings.py
此前我们提到了manage.py的第二件工作便是指定了它是工程的配置文件,那它配置了些什么呢?代码量在其他几个文件中属于比较多的,有一百行的样子,主要设置了关于数据库,后台管理等配置,等到我们要用的时候再详细说明。
5.urls.py
它负责把客户的请求翻译成函数调用。是重要要掌握的文件。
DJango通过settings.py中指定的URLconf参数找到对应的urls.py文件,此例中正好为我们的这个文件。
DJango在urls.py中找到urlpatterns变量。
DJango收到一个客户地址请求,我们不妨设为localhost。
DJango在urlpatterns中顺序遍历正则式,找到第一个匹配,调用该正则式对应的函数。
该函数返回客户端所请求的内容。
对开发者来说,真正需要关心的是如何完成正则表达式和对应函数的对应。如下面例子:
123
urlpatterns=patterns("",url(r'^$','hello.views.home'),)
说明:其中url里面左半部分是正则式,右半部分是函数调用。r说明是raw匹配,表明正则表达式要求每个字符都必须被匹配,是一个可选项,如果不能理解可以省略。^表示匹配开始,$表示匹配结束。所以这个正则表达式匹配了空字符,正好符合地址为localhost的客户请求(DJango收到的请求会自动省略域名,即localhost,即真正的请求字符串为空)。右侧表明腰调用名为hello的app的views.py文件的home函数。
6.增加helloapp
刚才我们在url匹配的时候调用了home函数,此时我们就开始创建它:
pythonmanage.pystartapphello
这样我们在manage.py同级目录下生成了hello目录,进入hello目录其他文件都不用管,也不需要理解,直接打开views.py编辑成如下样子:
fromdjango.httpimportHttpResponse
defhome(request):
returnHttpResponse("HelloWorld")
启动服务器。其实hello相当于是一个app应用被添加进了mysite工程,当特定的请求到来时通过url匹配调用相应app下的views.py中的函数来达到不同的显示效果。
五.Django-URL解析和匹配
1.patterns()函数
patterns函数的的原型:
patterns(prefix,pattern_description,...)
其中prefix表示函数调用的前缀,而pattern_description则是一系列的元组。举例说明prefix的作用:
urlpatterns=patterns("hello.views",
url(r'^$','home'),
)
上例和上例的执行效果一样,都表明了helloapp下的views文件里的home函数。注意:前缀末尾不必包含“.”;另外因为python函数规定参数不能多于255个,因此如果你的映射关系很多,可以利用诸如:urlpatterns+=patterns(…)这种形式累加。
2.url()函数
url函数的原型:
1
url(regex,view,kwargs=None,name=None,prefix='')
其中后三项是可选项,在我们的例子中:regex=”r’^$'”;view=”hello.views.home”;name项给该url命名,这在未来通过name反向确定url有很大的作用;kwargs则传递额外的参数;prefix和此前的prefix作用一致,不过只适用这一条url。
3.通过url传递信息
DJango在通过url传递参数时有两种方式,一种通过位置,一种通过关键词。我们先看第一种,改此前的映射关系如下:
1
url(r'^(\d{4})/(\d{2})$','hello.views.home'),
修改hello/views.py,增加两行代码如下:
defhome(request,year='0000',month='00'):
returnHttpResponse("HelloWorld"+year+""+month)
这样当用户请求locahost:8000/2015/5时候,相当于在调用home(request,‘2015’,’5’),注意此时year和month的相对关系,因为参数传递是基于位置信息的,第一个是4个数字是年,第二个2个数字是月。
下面是第二种,即关键词方式,我们修改两个文件如下:
#mysite/urls.py
url(r'^(?P\d{4})/(?P\d{2})$','hello.views.home'),
#hello/views.py
#注意year和month的位置
defhome(request,month='00',year='0000'):
returnHttpResponse("HelloWorld"+year+""+month)
结语:以上就是首席CTO笔记为大家介绍的关于django开发用哪个版本的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。