第三章 django基础知识
来源:互联网 发布:家庭ok软件 编辑:程序博客网 时间:2024/04/29 08:21
慕课网《强力django+杀手级xadmin 打造上线标准的在线教育平台》 学习笔记
本章内容:
- 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 pymysqlpymysql.install_as_MySQLdb()
然后执行:
python manage.py makemigrationspython manage.py migrate
这样就自动创建好了一些默认的数据库表
配置让url能够访问留言板页面
- 配置apps.message.views.py
from django.shortcuts import renderdef getForm(request): return render(request, 'message_form.html')
- 配置urls.py
from django.conf.urls import urlfrom django.contrib import adminfrom apps.message.views import getFormurlpatterns = [ 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 makemigrationspython 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.html
url配置的一个技巧
- 每个url最好加上name
url(r'^form/$', getForm, name="go_form"),
在模板中引用
{% url "go_form" %}
- 关于匹配, 如果是URL只匹配form这个URL,则一定要r’form/
′,以/和美元符号 结尾,否则可能其他以form开头的URL也会匹配到本URL
url(r'^form/$', getForm, name="go_form"),
阅读全文
0 0
- 第三章 django基础知识
- 第三章 Django基础知识回顾
- Django基础知识
- django基础知识
- django基础知识
- 7.31 Django学习第三章
- 第三章 硬件基础知识学习
- 第三章 nodejs基础知识(上)
- JAVA基础知识笔记(第三章)
- html5基础知识第三章表单
- 第三章:3.8 登陆 Django 默认后台
- 第三章:3.9 引用Django 认证登陆
- 第三章:Django的模板使用
- Django单元测试基础知识
- [第三章、Java基础知识]第一节、数据类型
- 第三章 面向对象编程基础知识
- 《JAVA 核心技术 基础知识》第三章 笔记
- css3基础知识第三章div盒子
- 关于MD5加密的学习笔记
- powerdesigner入门一概念数据模型
- spring的依赖注入DI
- 微信开发(三):图文消息回复
- [AtCoder][杂题]AGC015 . C .Nuske vs Phantom Thnook
- 第三章 django基础知识
- github的基本操作
- Unique Binary Search Trees II
- powerdesigner出错总结一
- Oracle表的连接查询总结
- C++学习笔记之右值引用以及移动构造
- Python lesson1
- h.264的RTP/SDP分析
- 初来乍到,请多关照