第三章 django基础知识
2017-05-30 16:06
393 查看
慕课网《强力django+杀手级xadmin 打造上线标准的在线教育平台》 学习笔记
本章内容:
django目录结构
django快速搭建
urls.py
views.py
model.py
templates
django命令
tools -> Run manage.py Task
新建app: startapp appName
安装mysql驱动
我用python3的,可以用pymysql驱动,参考这篇
python3使用Django框架连接mysql(python3+Django+MySQL+pymysql)
然后在项目配置文件夹中的init.py中添加
然后执行:
这样就自动创建好了一些默认的数据库表
配置urls.py
通过debug启动
访问http://127.0.0.1:8000/form/
如果提示找不到templates中的模板,则需要配置settings中的TEMPLATS,将模板存放目录的相对路径添加到DIRS中
如果没有样式,则再配置静态资源static路径,以便能够访问style.css
在settings.py中添加STATICFILES_DIRS
在message的models.py中编写一个类
在settings中注册message这个新建的app
将message中的UserMessage映射到数据库中
django model的自带类型
BooleanField
CharField
TextField
DateTimeField
EmailField
FileField
ImageField
IntegerField
…………
django model中的参数
max_length 最大长度
verbose_name 别名
可以为空: null=True, blank=True
默认值: default=something
primary_key=True 设为主键
Meta字段
verbose_name=别名
verbose_name_plural=大别名
db_table 指定数据表的名字
ordering=” 查询后的默认排序
在模板中引用
关于匹配, 如果是URL只匹配form这个URL,则一定要r’form/′,以/和美元符号结尾,否则可能其他以form开头的URL也会匹配到本URL
本章内容:
django目录结构
django快速搭建
urls.py
views.py
model.py
templates
django 目录
各个目录及文件讲解django命令
tools -> Run manage.py Task
新建app: startapp appName
配置数据库DATABASES
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #数据库引擎 'NAME': 'testdjango', #数据库名 'USER': 'django', #用户名 'PASSWORD': '1234', #密码 'HOST': '', #数据库主机,默认为localhost 'PORT': '', #数据库端口,MySQL默认为3306 'OPTIONS': { 'autocommit': True, }, } }
安装mysql驱动
我用python3的,可以用pymysql驱动,参考这篇
python3使用Django框架连接mysql(python3+Django+MySQL+pymysql)
pip install pymysql
然后在项目配置文件夹中的init.py中添加
import pymysql pymysql.install_as_MySQLdb()
然后执行:
python manage.py makemigrations python manage.py migrate
这样就自动创建好了一些默认的数据库表
配置让url能够访问留言板页面
配置apps.message.views.pyfrom django.shortcuts import render def getForm(request): return render(request, 'message_form.html')
配置urls.py
from django.conf.urls import url from django.contrib import admin from apps.message.views import getForm urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^form/', getForm), ]
通过debug启动
访问http://127.0.0.1:8000/form/
如果提示找不到templates中的模板,则需要配置settings中的TEMPLATS,将模板存放目录的相对路径添加到DIRS中
如果没有样式,则再配置静态资源static路径,以便能够访问style.css
在settings.py中添加STATICFILES_DIRS
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), ]
models数据模型的编写
没有orm的数据库操作,比较麻烦又低效在message的models.py中编写一个类
class UserMessage(models.Model): name=models.CharField(max_length=20,verbose_name='用户名') email=models.EmailField(verbose_name='邮箱') address=models.CharField(max_length=100,verbose_name='联系地址') message=models.CharField(max_length=500,verbose_name='留言信息') class Meta: verbose_name='用户留言信息'
在settings中注册message这个新建的app
INSTALLED_APPS = [ 'apps.message', # 注册新的app 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
将message中的UserMessage映射到数据库中
python manage.py makemigrations python manage.py migrate
django model的自带类型
BooleanField
CharField
TextField
DateTimeField
EmailField
FileField
ImageField
IntegerField
…………
django model中的参数
max_length 最大长度
verbose_name 别名
可以为空: null=True, blank=True
默认值: default=something
primary_key=True 设为主键
Meta字段
verbose_name=别名
verbose_name_plural=大别名
db_table 指定数据表的名字
ordering=” 查询后的默认排序
保存数据
def getForm(request): # all_messages=UserMessage.objects.filter(name='bobby') if request.method == "POST": name=request.POST.get("name","") email = request.POST.get("email", "") address = request.POST.get("address", "") message = request.POST.get("message", "") user_message=UserMessage() user_message.name=name user_message.email = email user_message.address = address user_message.message = message user_message.save() # 保存 return render(request, 'message_form.html')
django模板语言
详见Django文档 : http://python.usyiyi.cn/translate/django_182/ref/templates/builtins.htmlurl配置的一个技巧
每个url最好加上nameurl(r'^form/$', getForm, name="go_form"),
在模板中引用
{% url "go_form" %}
关于匹配, 如果是URL只匹配form这个URL,则一定要r’form/′,以/和美元符号结尾,否则可能其他以form开头的URL也会匹配到本URL
url(r'^form/$', getForm, name="go_form"),
相关文章推荐
- 第三章 Django基础知识回顾
- 用《叩响C#之门》复习C#基础知识 第三章 运算符和表达式
- 【吼吼睡cocos2d学习笔记】第三章 - 基础知识
- django 注册、登录及第三方接口程序(1):基础知识
- css3基础知识第三章div盒子
- html5基础知识第三章表单
- [第三章、Java基础知识]第一节、数据类型
- Python黑帽编程3.0 第三章 网络接口层攻击基础知识
- JAVA基础知识笔记(第三章)
- 第三章 nodejs基础知识(上)
- Android 开发艺术与探究 第三章 View的事件体系之View的基础知识
- 《Objective-C基础教程》第三章 面向对象编程基础知识
- BAE博客开发之基础知识积累----Django篇(1)
- 第三章 面向对象编程基础知识
- Java基础知识 第三章 流程控制
- 《Spring 3.x 企业应用开发实战》学习笔记 第三章 IoC容器概述 3.2 相关Java基础知识 类装载器 反射机制
- windows上Python开发--3.Django的基础知识
- 第三章 Objective-C 基础知识
- django 注册、登录及第三方接口程序(1):基础知识
- Django[基础知识]