VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • 谈谈 django 应用实践(3)

不过对于高并发的应用来说外键不是很推荐。

forms 模块

1. 前端传上来一个表单的值,但是没法确认这些值是不是为空,是不是类型正确,这个时候当然可以自己一个个值判断,也可以采用 forms 模块去做验证,用过 django-rest-framework 的同学会知道和里面的 serializers 是同一个概念

1
2
3
class PersonDetailsForm(forms.Form):
       name = forms.CharField(max_length=100)
       age = forms.IntegerField()

2. 如果你用的是模板渲染的方式,那么展示的时候更简单,表单能自动生成 html 的表单。

1
2
3
4
5
6
>>> f = PersonDetailsForm()
>>> print(f.as_p())
<p><label for="id_name">Name:</label> <input id="id_name" maxlength="100"
name="name" type="text" /></p>
<p><label for="id_age">Age:</label> <input id="id_age" name="age"
type="number" /></p>

admin 模块

1. admin 基本上开箱即用,如果需要定制的话,也能做一些组件的定制,不过这些东西得看文档去详细了解了。

commands 模块

1. django 提供了后台脚本模块,可以自己集成 BaseCommand 类去自定义脚本

1
python mannage.py -h

这个命令就能看到所有的 commands 命令

2. 如果不想用他的模块,又想引入 django 项目的一些模块,可以采用下面的方法解决

1
2
os.environ.setdefault("DJANGO_SETTINGS_MODULE""myproject.settings")
django.setup()

settings 模块

1. 所有的 settings 默认值都在这里面能找到,https://github.com/django/django/blob/master/django/conf/global_settings.py

2. 上线的时候记得把 DEBUG 改成 False, 然后加上 ALLOWED_HOSTS

3. MEDIA_ROOT, MEDIA_URL, STATIC_ROOT, STATIC_URL 这几个之前经常搞混,其实可以分为两类,MEDIA_ROOT 指的是上传文件的目录,MEDIA_URL 指的是前缀名,http://example.com/media/, 其中的media 就是 MEDIA_URL, 同样,STATIC_ROOT 指的是静态文件的目录,一般放 css, js 之类,STATIC_URL 值得是前缀名,http://example.com/static/。

4. 一般部署上线的时候,用 nginx 直接渲染静态文件

1
2
3
4
5
6
   location /media  {
        alias /root/example_project/public/media;
    }
    location /static {
        alias /root/example_project/static;
    }

相关教程