您的位置:首页 > 编程语言 > Go语言

django 快速注册

2016-06-29 13:45 316 查看
1.添加 account app
python manage.py startapp account
2.添加到 settings.py 中
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
'blog',
'upload',
'account',
]
3.设计Model 
from django.db import models
# Create your models here.
class User(models.Model):
username = models.CharField(max_length=50)
password = models.CharField(max_length=50)
email = models.EmailField()

4.同步数据库
python manage.py makemigrations account
python manage.py migrate
5.创建视图 views.py
from django.shortcuts import render
from django import forms
from django.shortcuts import render_to_response
from django.http import HttpResponse,HttpResponseRedirect
from django.template import RequestContext
from account.models import User

class UserForm(forms.Form):
username = forms.CharField(label='用户名:', max_length=100)
password = forms.CharField(label='密码:', widget=forms.PasswordInput())
email = forms.EmailField(label='电子邮件:')
# Create your views here.
def register(request):
if request.method == "POST":
uf = UserForm(request.POST)
if uf.is_valid():
username = uf.cleaned_data['username']
password = uf.cleaned_data['password']
email = uf.cleaned_data['email']

user = User()
user.username = username
user.password = password
user.email = email

user.save()
# 返回注册成功页面
return render_to_response('success.html',{'username':username})
else:
uf = UserForm()
return render_to_response('register.html',{'uf':uf})
6.创建 前端模板
新建 account/templates 目录,创建  register.html
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>用户注册</title>
</head>
  <style type="text/css">
    body{color:#efd;background:#453;padding:0 5em;margin:0}
    h1{padding:2em 1em;background:#675}
    h2{color:#bf8;border-top:1px dotted #fff;margin-top:2em}
    p{margin:1em 0}
  </style>
<body>
<h1>注册页面:</h1>
<form method = 'post' enctype="multipart/form-data">
{{uf.as_p}}
<input type="submit" value = "ok" />
</form>
</body>
</html>
创建 success.html
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title></title>
</head>
<body>
    <h1>恭喜{{username}},注册成功!</h1>
</body>
</html>
7.添加 url
1)在 mysite/mysite/urls.py
from django.conf.urls import url,include
from django.contrib import admin
from blog import views as blog_views
from upload import views as upload_views
from account import urls as account_urls
urlpatterns = [
    url(r'^admin/', admin.site.urls),
url(r'^blog/', blog_views.index),
url(r'^upload/', upload_views.register),
url(r'^account/', include(account_urls)),
]
2)在 mysite/account/urls.py
from django.conf.urls import url
from account import views as account_views
urlpatterns = [
    url(r'^$', account_views.register, name='register'),
url(r'^register/$', account_views.register, name='register'),
]
8.python manage.py runserver 9999 &
9.访问 http://127.0.0.1/account/ 或 http://127.0.0.1/account/register/
10.设置在 admin 中查看 注册的用户
1) 在 account/models.py 中 添加
from django.db import models
from django.contrib import admin
# Create your models here.
class User(models.Model):
username = models.CharField(max_length=50)
password = models.CharField(max_length=50)
email = models.EmailField()

class UserAdmin(admin.ModelAdmin):
list_display = ('username', 'email')
admin.site.register(User,UserAdmin)
2)访问 http://127.0.0.1/admin/ 输入 python manage.py createsuperuser 命令创建的用户名跟密码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: