Django中.py文件详解

按着Django的基础的步骤建好项目,建好app之后;可用pycharm打开项目,注意一定要打开项目的根;看到一大堆的.py文件,可能会范蒙,个人做的一些小总结

project根目录下的.py文件(跟项目同名的文件夹)

1.settings.py

添加安装的项目

INSTALLED_APPS=[

添加新建的项目app名字,需加 ' '

]

拼接html文件的路径,一般都放在新建的templates文件夹下

TEMPLATES = [

拼接路径 'DIRS':[os.path.join(BASE_DIR,'templates')]

]

如果本地引入了样式文件,尽量放在新建的static文件夹下

STATIC_URL = '/static/' static相当于路径别名

STATICFILES_DIRS = [

os.path.join(BASE_DIRS,'static')

]

注意:

大写字母开始的都是固定的

文件名及路径别名都是可变的,通常习惯以上写法

2.urls.py

一级路由,一级路径

直接用一级路径

from django.conf.urls import url

from django.contrib import admin

from app名 import views文件名

urlpatterns = [

url(r'^admin/',admin.site.urls),

url(r'^hello/',views.方法名)

]

二级路由,二级路径

用二级路由的话

一级路由中这样设置

from django.conf.urls import url,include

from django.contrib import admin

urlpatterns = [

url(r'^admin/',admin.site.urls),

url(r'^hello/',include('项目名.项目新建的urls文件名'))

]

app中新建一个urls.py文件中

from django.conf.urls import url

from app名 import views文件名

urlpatterns = [

url(r'^register/',views.register),

。。。。

]

3.wsgi.py文件

部署时候会用到

project下项目app文件夹下的.py文件

1.migrations文件,用来放数据库

下面包含一个__init__.py文件

另外一个文件会在映射数据库时出现

2.admin.py

django自带后台管理,一般不用动

3.apps.py

代表当前应用

4.tests.py

测试文件,一般也很少用

5.models.py

创建类,一个类代表一个数据库,一个对象代表数据库的一条记录

from django.db import models

class 类名(models.Model):

user = models.charField(max_length=100)

字段名 固定写法 字段类型 最大长度

class Meta:

db_table = 'a' 给数据库起名字

book = models.Foreignkey(类名)

字段名 固定写法 外键 另一个数据库

注意:

映射到数据库还需要终端运行

python manage.py makemigrations

python manage.py migrate

之后再python manage.py runserver

常见的字段类型

CharField(max_length=100) 字符串

BooleanField(default=False) 布尔 默认值False

IntegerField(default=18) 数据 默认值18

FileField(upload_to='指定文件路径')上传文件的时候必备

ImagesField(upload_to='photo') 上传图片时必备

6.views.py

写逻辑流程

需要引入的模块

from django.shortcuts import render,redirect

from django.contrib.auth.hashers import make_password 加密密码

from app.models import 模型的类名

from django.http import HttpResponse http响应

#模块的引入根据实际情况来定,

def 方法名(request): 默认参数request

逻辑流程

return HttpResponse(内容)

从数据库models中获取数据

()写条件

变量名= 类名.objects.get() 得到一个数据

变量名= 类名.objects.get() 得到多个数据

变量名= 类名.objects.filter() 得到一个可迭代的数据数据

通常会在在app下或者项目下新建一个templates文件夹

用来放需要用到的html文件

从html文件获取数据

默认的response请求,HTML中向数据库提交数据需要用到表单form

<form action='提交地址' method='提交方法'>

内容,需要起名字

</form>

b = response.POST.get('表单输入内容的名字')

缓存数据

登陆一次之后信息会暂时缓存在session中,可直接从session中跳去数据

a = resquest.session.get('')

return redirect() 重定向到

return.render(request,'',{ }) 渲染

7.实际中之后也会根据实际需要建一个项目中会用的文件

猜你喜欢

转载自blog.csdn.net/qq_42420425/article/details/81557866
今日推荐