Django中.py文件详解
其他
2018-08-11 10:06:17
阅读次数: 0
按着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