django模块学习

首先学习如何创建一个django工程。

下面就 举个例子。
通过这个帮助文档 。我们将一起走一下创建application的过程。

主要包含下面两个部分:
1: 一个向外网提供服务的网站。
2:一个后台管理网站。

我们假设已经安装了django模块。(
比如)你可以通过命令行查看django是否安装,并且安装的是什么版本。
windows命令    python -m django --version


如果已经安装了,你就可以查看到你安装的版本,如果没有就会有一个提示

( 注意一下,老哥我安装了两个版本的,所以可以进行测试。)
这个帮助文档是用来写给django大版本2.1的,这个版本支持3.5及其以后的python版本。如果你的django版本不匹配,你可以在文档的后面查看如何进行版本更替或者是更新到最新的版本。如果你正在用一个比较旧的版本。可以去下载对应版本的python。

官网帮助连接
看如果要进行安装和卸载,可以查看网站

下面就要开始创建一个项目。

如果你已经安装了django,你必须注意一下创建的一些事项。首先是,
我们需要通过命令创建项目并自动生成一些代码。这个很重要。
setings里面包含了Django项目的所有的配置,包括数据库配置,可选项,还有一些默认配置。

从命令行中cd到你想要创建项目的目录下。然后输入下面的代码。

django-admin startproject mysite

这样就可以在当前目录下面创建一个mysite目录。如果命令行没有生效,可以查看。帮助文档

 
上面就是我们创建好的,然后查看到的 sitecrapy项目。

需要注意的是,我们命名project的时候必须避免和python的内置模块或者是django的组件重名。
特别强调的是,我们在命名的时候应该特别的注意需要避免命名为django(这个将会和自身冲突)
或者test(会和python内置的模块名冲突。)

上面的这些在我们python编码的时候也是应该注意的。

那么创建后的代码应该是怎样的存放的呢。如果你有使用php的经历,你可能会和websevice放到一起,(/var/www)。但是在Django中,你不需要那么做,将嗲吗放在web服务器的根目录中是不好的,因为这样就有可能将你的代码暴露在人们的视野中。所以保密性就不是那么的好了。

 上面的注意事项都说完了,那么创建后的目录的结果是什么样的呢。

分别介绍一下这些文件个字代表的含义。

最外面的sitecarpy就是包含整个项目的文件目录,这个和你的Django没有关系,你可以重命名为任何你想要命名的名字。

mange.py: 一个可以可以让你通过命令行与你的项目进行各种各样互动的文件。你可以自行阅读这里面的一切。
拓展文档 
这个有空一定要看,红字警告。

在内部的sitecrapy目录就是你真正的python项目。这个名字就是你以后以后需要引用这里面文件时候的模块名。
比如说 (sitecrapy.urls)

sitecrapy.__init__.py:这是一个空的文件,这个作用就是高数python编译器,你需要把我这个目录当成一个模块。如果你是一个python的初学者。可以查阅相关的python有关package的文档。文档链接(这个也是必读)

sitecrapy/settings.py:django项目的设置配置,工作原理文档

sitecrapy/urls.py: 这个url声明了可以通过里面的目录进行访问。url分配器文档  这个也是必看

 sitecrapy/wsgi.py:文档.主要是为wsgi兼容的web服务器项目的切入点。

运行服务 python mamage.py runserver

 执行上面的指令将会输出下面的内容。


上面提示我们缺少15个数据项。现在不管,后面再说。

然后我们已经启动好了我们的服务,然后可以通过访问链接,获取数据。这个web服务器是一个基于python的轻量级的网络服务器。我们已经创建好了服务器,所以我们就可以通过不需要apache服务器,就能快速的进行开发。除非,你已经为这个产品准备好了服务器。

tips:不要用在产品上,这个仅仅是用来开发框架(这个提供的是创建web的页面,而不是web服务器。)

既然我们已经启动了服务器,就可以通过地址访问。如果你看到了下面的界面,恭喜你,你成功了。

 

修改端口:
    默认的我们是使用8000端口,如果你想要修改服务器端口,就可以通过命令行传入一个参数。比如说,我们要在8080端口上进行监听。那么就传入 
    python manage.py runserver 8080

修改ip地址
    可以通过端口一起传过去。比如,去监听所有公共ip,想要访问8080端口的(这个在你想要在其他电脑上展示你的作品的时候,非常有用)
    
python manage.py runserver 0:8080
0是ip地址0.0.0.0的缩写。

这个是runserver的帮助文档,建议查看。  链接

服务器自动启动。如果可能,server会为每一个request请求自动的重载python代码。所以如果你修改了代码,不需要进行重启。但是,如果你进行了其他操作比如添加文件,这些是不会触发重启的,所以你必须得重启这个服务器。
如果在linux中使用我们可以通过信号的方式进行(说明)重载,而不是定时。

-6 指的是ipv6

 接下来就是创建一个web项目  app

工程和app之间的关系:
    两者之间的差异:app是有具体工作的,可以理解为软件。工程就是一个特殊网站的配置和app的集合。
    工程  m:n  app
    一个工程多个app组成,一个app存于多个工程。

Django提供了一个搞笑快捷的方式自动创建基本的代码和app的 结果。这样就可以专注代码而不是创建目录这些工作。 

django-admin startapp --template=https://github.com/githubuser/django-app-template/archive/master.zip myapp

我们可以通过这个命令进行拷贝,--template可以是号文件路径也可以是urls。

 你的app可以放在任何python目录下。也就是说,我们将在mamge.py文件的同等级目录下创建一个poll app(因为个人的 模块是需要同目录下才可以引用的)。这样才能在倒入和同在同样层次的模块。而不是sitescapy的同等级的子模块。

下面就是开始创建:
1:和manage.py在同一个目录下。       python manage.py startapp pools
    然后回自动创建一些文件和文件夹

2:开始写界面:
   我们打开polls的views.py并且写入下面的代码。

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

这个是django项目中最简单的view了。为了能够调用这个view,我们需要把它映射到URL中-因此,我们需要用到URLconfig。
为了在polls目录下创建一个URLconfig文件,创建了一个文件名字叫urls.py的文件。然后你的目录结构应该是这样的。

在urls.py中,应该是下面的代码。

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

path的name属性

给自己当前的URL命名,可以让你在其他地方很明显的调用。尤其是在模版里面。这个强大的特性可以让你在一个文件里面给所有的全局URL赋值。

猜你喜欢

转载自blog.csdn.net/rubikchen/article/details/85915705
今日推荐