django的元组在哪个文件?

导读:本篇文章首席CTO笔记来给大家介绍有关django的元组在哪个文件的相关内容,希望对大家有所帮助,一起来看看吧。

django2.0.4+xadmin 出现 Related Field got invalid lookup: icontains 错误

出错原因是你配置的ModelAdmin类中,也就是在xamind文件中的,元组search_fields中的项不是字符类型。

删除元组search_fields中类型不符的项

为什么在mac,python2.7里安装不了django

一.下载Django

如果电脑没安装 python,点击这里。然后从这里下载 Django 稳定版本。

或者执行命令下载 Django 最新版本:git clone

这里我用的是 Mac 自带的python2.7,下载是最新版本的Django后发现python2.7版本需要升级,但是注意,对 iOS 开发者来说,最好不要升级python2.7到python3,因为Xcode只支持最稳定版的python2.7脚本。所以这里我下载的Django版本是1.6.1。

二.安装Django

cd Django sudo python setup.py. install

Python 默认在/Library/Python/2.7中,那么无论如何你在哪里安装完DJango,都会在/Library/Python/2.7/site-packages中生成一个django的文件夹。如果要删除django,只需要把该目录下的django文件夹删除即可。

三.测试LocalHost是否成功

sudo mkdir ~/Djangodemo

/*创建一个用于测试Localhost的网站样例*/

sudo django-admin.py startproject testLocalHost

cd testLocalHost

python manage.py runserver

浏览器打开,成功的话你将会看到Django的简单的成功页面

说明:django-admin.py在我们安装完Django之后除了在site-packages中生成django文件夹之外(里面都是一些DJango命令的一些文件和代码),在/usr/local/bin/中也生成了一个名为django-admin.py的链接,这样无论你在何种路径下都可以直接调用django-admin.py文件了。在Win下我们称这个过程为:加入到环境变量。

四.文件结构

1.创建 mysite 工程

删除原来的 LocalHost 工程,创建 mysite 工程,执行命令:$ mkdir mysite

$ django-admin.py startporject mysite

此时的目录结构如下:

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.增加 hello app

刚才我们在url匹配的时候调用了home函数,此时我们就开始创建它:

python manage.py startapp hello

这样我们在manage.py同级目录下生成了hello目录,进入hello目录其他文件都不用管,也不需要理解,直接打开views.py编辑成如下样子:

from django.http import HttpResponse

def home(request):

return HttpResponse("Hello World")

启动服务器。其实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'),

)

上例和上例的执行效果一样,都表明了hello app下的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,增加两行代码如下:

def home(request, year='0000', month='00'):

return HttpResponse("Hello World "+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的位置

def home(request, month='00', year='0000'):

return HttpResponse("Hello World "+year+" "+month)

django的元组在哪个文件?  第1张

「Django框架」-拆分配置文件settings

使用 Django 命令生成一个项目的基本结构时,配置信息默认保存在和项目目录同名的目录下的 settings.py 文件里, 在实际的开发中,对于一个项目而言,这样往往是不合适的,需要将 settings 配置文件拆分为几个文件, 线上和线下都会使用的文件放置到 base.py 文件里,线上的放置在 product.py 文件里,开发测试的文件放置在 develop.py 文件里。这样功能划分就明确了,方便我们线上线下的调试。

1)在项目同名目录下,创建一个 settings 的包(目录下含 __init__.py 的文件夹)。

2)在 settings 的包中分别新建3个文件:公共基础 base.py (用于配置 Django 默认生成配置文件), develop.py (用于开发环境)、 product.py (用于生产环境)。

3)将原来的 settings.py 的内容复制到 base.py 文件中。

4)确认目录OK后,我们需要修改 base.py 中的时区和语言配置:

如果有类似公共部分需要修改的,则在 base.py 中修改即可,例如注册子应用之类的,在此就不一一举例。。

5)之后,对于线上线下不同部分,我们只要导入 base.py 模块,再针对不同部分进行修改即可,例如线上线下对接不同的测试数据库,我们则可以修改数据库连接:

6)修改 manage.py 文件, Django 使用自带服务启动时需要知道 settings 文件的路径。

7)到上生产的时候,使用 asgi.py ( Django3.x 中)或 wsgi.py ( Django2.x 以下版本),则可以更改生产配置文件的路径:

以上又有个问题,如果线上线下环境切换,又要改动代码, 我们可以通过设置系统环境变量来动态获取,避免修改代码:

这样通过读取系统环境变量中的 LIPIN_PROFILE 来控制 Django 加载不同的 settings 文件。

这样可以将原来的 settings.py 文件删掉!!

但是这样就会有个问题,你会发现之前好好的网页我们访问不了了,模板找不到!

这是因为之前的配置文件中,路径问题,因为我们原来的配置文件是在同名目录下,而我们现在将配置文件拆分为一个新的包,所以还要上一级目录才是我们需要的:

py3.6.2下,django 框架连接数据库的时候出现的

方法/步骤

修改setting.py里面的DATABASES元组为

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'books', #你的数据库名称

'USER': 'root', #你的数据库用户名

'PASSWORD': '', #你的数据库密码

'HOST': '', #你的数据库主机,留空默认为localhost

'PORT': '3306', #你的数据库端口

}

}

INSTALLED_APPS = (

'books',#你的数据库名称

)

在mysql里面创建books数据库

检查配置是否有语法错误

使用python manage.py sqlall books 显示mysql语法

使用python manage.py syncdb同步模型中的数据库

创建成功!

结语:以上就是首席CTO笔记为大家整理的关于django的元组在哪个文件的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django的元组在哪个文件的相关内容别忘了在本站进行查找喔。

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23 13:14
下一篇 2023-09-23 13:14

相关推荐

发表回复

登录后才能评论