(目前个人认为,Django 还是应该使用 Django1.11版本,稳定长期支持到2020年,兼容性也好。)
pip install
安装 Django1.11。django-admin startproject
创建项目。python manage.py startapp
创建 app。python manage.py makemigrations
。python manage.py migrate
。python manage.py runserver
测试网站。{ % url “account_signup” % }
这样的标签来自动产生相对应的网址。__init__.py
文件。python manage.py shell
进入 Python shell 。python manage.py makemigrations
和 migrate
就可以反映出修改后的数据表结构。当然,如果不小心把所有内容都改乱了,那么把这个文件夹中除了__init__.py
文件外的所有文件都删除,并删除上一层目录中的 db.sqlite3 数据库文件,等于是所有数据库内容全部重置,重新来过了。<head></head>
之间即可。一般是放在</head>
这一行的前面。
jQuery 的 CDN 链接代码放在</body>
之前即可。这是 Django 为了防范网站 CSRF (Cross-site request forgery,跨站请求伪造) 攻击的机制, 以确保黑客无法伪装为已验证过的浏览器而盗取数据。启用这个功能(默认是启用的)的设置在 setting.py 中的 'django.middleware.csrf.CsrfViewMiddleware'
(在 MIDDLEWARE中的设置区块中)。
我们在加载的 html文件提交表单的
<form>
标签下加上标识符:{% csrf_token %}
同时在 views.py 文件中定义的函数修改 render 方法,实例如下:
def posting(request): template = get_template('posting.html') moods = models.Mood.objects.all() message = '如果要张贴信息,那么每一个字段都要填...' html = template.render(context=locals(), request=request) return HttpResponse(html)
def listing(request): template = get_template('listing.html') html = template.render(locals()) return HttpResponse(html)
decorator@login_required 是 auth 验证机制提供的一个非常方便的用法,用来告诉 Django 接下来的处理函数内容是需要登录过后才能够浏览的,如果还没有登录就想要执行这一操作,请先登录括号中指定的 login_url 网址。