Pycharm 编辑器开发
django框架 特性 简单/易开发
Django项目至少要包含一个以上的app应用
novel app / 应用
webapp 项目
manage.py 用来管理真个项目(管理文件)
MVC MTV开发模式
***debug 调试模式 开发者模式
settings.py的设置
语言设置改成 zh-hans
debug 开发时设置成debug=‘TRUE’
公共测试时设置成debug=‘FALSE’
urls.py
路由设置导入
from novel import views
urlpatterns = [
path(r'^admin/',admin.site.urls),
url(r'^$',views.index),#用户主页面路由
]
判断是否存在数据库
1.已经存在数据库(数据中也存在表)
通过命令方式
python manage.py inspectdb > novel/models.py
***模板访问时不存在的情况
查看settings里面是否有你所创建的APP
templates 存放模板的文件夹
static 有专用的文件夹
{{}}变量
{% %} 函数
动态
数据库 orm Python开发web项目
DATABASES = {
'default':{
'NAME':'novel',
'USER':'root',
'PASSWORD':'123456',
'HOST':'localhost',
'PORT':'3306'
}
}
是否存在数据
没有数据库
通过models.py 写模型
class
对数据库进行映射
***已经存在数据库
通过数据库映射成模型文件
打开命令行
python manage.py inspectdb > novel/models.py
def index(request):
content={
'novel':'[1,2,3,4,5,6,7,8,9,10]
}
#novel = NovelInfo.objects.get(novelid).novelname
获取单个novelid的值
novel = NovelInfo.objects.filter().order_by('?')[:10]
#随意获取数据库的任意十条数据
return render(request,'index.html',content=content)
html页面
html保护机制
ex:
{%for i in novel%}
{{i.novelimg}}
{{i.description | safe}}
{%endfor%}
<input type=password name=psd><br><br>
<input type=file name=avatar><br><br>
<input type=submit value=提交>
<input type=reset value=重置>
</form>
{%csrf_token%}防止跨域攻击
django框架 特性 简单/易开发
Django项目至少要包含一个以上的app应用
novel app / 应用
webapp 项目
manage.py 用来管理真个项目(管理文件)
MVC MTV开发模式
***debug 调试模式 开发者模式
settings.py的设置
语言设置改成 zh-hans
debug 开发时设置成debug=‘TRUE’
公共测试时设置成debug=‘FALSE’
urls.py
路由设置导入
from novel import views
urlpatterns = [
path(r'^admin/',admin.site.urls),
url(r'^$',views.index),#用户主页面路由
]
判断是否存在数据库
1.已经存在数据库(数据中也存在表)
通过命令方式
python manage.py inspectdb > novel/models.py
2.不存在数据库
在python编辑器页面输入
python manage.py makemigrations(生成日志)
python manage.py migrate (将models.py 中的信息映射生成数据库中的表)
***重点静态文件的设置
{%load static%}
ex:
{%static 'css/style.css'%}
该静态文件直接可以再settings里面该STATIC_URL = /static/
里面的static
***模板访问时不存在的情况
查看settings里面是否有你所创建的APP
templates 存放模板的文件夹
static 有专用的文件夹
{{}}变量
{% %} 函数
动态
数据库 orm Python开发web项目
DATABASES = {
'default':{
'NAME':'novel',
'USER':'root',
'PASSWORD':'123456',
'HOST':'localhost',
'PORT':'3306'
}
}
是否存在数据
没有数据库
通过models.py 写模型
class
对数据库进行映射
***已经存在数据库
通过数据库映射成模型文件
打开命令行
python manage.py inspectdb > novel/models.py
def index(request):
content={
'novel':'[1,2,3,4,5,6,7,8,9,10]
}
#novel = NovelInfo.objects.get(novelid).novelname
获取单个novelid的值
novel = NovelInfo.objects.filter().order_by('?')[:10]
#随意获取数据库的任意十条数据
return render(request,'index.html',content=content)
html页面
html保护机制
ex:
{%for i in novel%}
{{i.novelimg}}
{{i.description | safe}}
{%endfor%}
form表单中
用表单上传文件时
<form method=post action=/login enctype=multipart/form-data>
{%csrf_token%}
<input type=password name=psd><br><br>
<input type=file name=avatar><br><br>
<input type=submit value=提交>
<input type=reset value=重置>
</form>
action 跟的是路径
enctype 上传文件时使用,否则默认用字符串上传,会报错
{%csrf_token%}防止跨域攻击