摘要:為了避免做廣告的嫌疑,以后會(huì)把熙魷記個(gè)字去掉了。在和用戶注冊(cè)的賬戶功能,比如登陸注冊(cè)退出修改密碼等都在里實(shí)現(xiàn)。第二個(gè)參數(shù)要跳轉(zhuǎn)的路徑,如果沒有第二個(gè)參數(shù)則默認(rèn)跳轉(zhuǎn)到登陸頁(yè)面里添加
為了避免做廣告的嫌疑,以后會(huì)把熙魷記3個(gè)字去掉了。
現(xiàn)在我們完善登陸和注冊(cè)功能。
首先,我們要為站點(diǎn)創(chuàng)建一個(gè)超級(jí)用戶python manage.py createsuperuser然后根據(jù)命令行提示輸入用戶名、郵箱和密碼。
導(dǎo)入app前面我們新建了兩個(gè)app, 如果要讓django找到你的app, 需要在ahead/settings/__init__.py INSTALLED_APPS 里添加 "guys", "shops".
添加URL在ahead.urls里添加
url(r"^", include("guys.urls")),url(r"^", include("shops.urls")),這樣就可以在guys和shops里的urls.py設(shè)置url了。這就是我喜歡python的設(shè)計(jì),大多數(shù)的python框架都是以一個(gè)app為單位,這樣程序的復(fù)用性是非常高的,之前寫的論壇模塊在其他站點(diǎn)都可以直接使用,不像php和ruby的框架,都放在一個(gè)controllers里。
用戶登錄注冊(cè)我們放在guys里,所以我們?cè)趃uys/urls.py里的代碼
# -*- coding: utf-8 -*- from django.conf.urls import patterns, url from guys.views.accounts import RegisterView urlpatterns = patterns("", url(r"^whatsup/$", "django.contrib.auth.views.login", name="login"), url(r"^seeyou/$", "guys.views.accounts.logout", name="logout"), url(r"^welcome/$", RegisterView.as_view(), name="register"), ) 接下來(lái),我們要在配置文件里添加 LOGIN_REDIRECT_URL = "home" # 登陸后跳轉(zhuǎn)的頁(yè)面 LOGIN_URL = "login" # 登陸的url鏈接 (http://host/whatsup) LOGOUT_URL = "logout" # 退出的url鏈接 (http://host/seeyou)
注冊(cè)
刪掉guys/views.py,新建guys/views/文件夾,個(gè)人習(xí)慣,我不太喜歡把所有的邏輯都放在一個(gè)views文件里。在guys/views/__init__.py和guys/views/accounts.py用戶注冊(cè)的賬戶功能,比如登陸注冊(cè)退出修改密碼等都在accounts.py里實(shí)現(xiàn)。
注冊(cè)功能,突然想用Django的Class-based views實(shí)現(xiàn)
# -*- coding: utf-8 -*- from django.views.generic import View from django.contrib.auth.views import logout_then_login from ahead.utils.lazy import * from django.contrib.auth.forms import RegisterForm class RegisterView(View): def get(self, request): form = RegisterForm() return render(request, "registration/register.html", {"form": form}) def post(self, request): form = RegisterForm(request.POST) if form.is_valid(): pass return render(request, "registration/login.html", {"form": form})
Django自帶的認(rèn)證模塊,模板都放在templates/registation目錄下,如果你需要自定義html頁(yè)面的話在ahead/templates/下新建一個(gè)registation目錄,然后新建login.html。 2. 登錄
登陸
登陸我們使用Django自帶的模塊,Django的驗(yàn)證模塊html頁(yè)面放在templates/registration/login.html如果我們想要重寫html頁(yè)面,只需要在ahead/templates/下新建一個(gè)registration目錄,然后再目錄下新建一個(gè)login.html就可以覆蓋掉系統(tǒng)自帶的login.html。然后我們可以在login.html里輸入{{ form }}試一下。
如果你想快速得到一個(gè)登錄功能,直接在url里添加url(r"^whatsup/$", "django.contrib.auth.views.login", name="login"),無(wú)需多寫一行代碼,就可以直接使用。Django,就是這么簡(jiǎn)單方便,又不失靈活性。
退出
1) 直接使用auth view里的url(r"^seeyou/$", "django.contrib.auth.views.logout", name="logout"),退出后返回登陸頁(yè)面
2) 也是django自帶的,但我的需求是用戶退出后跳到首頁(yè)。
# guys/views/accounts.py from django.contrib.auth.views import logout_then_login def logout(request): return logout_then_login(request, "/") # 第二個(gè)參數(shù)要跳轉(zhuǎn)的路徑,如果沒有第二個(gè)參數(shù)則默認(rèn)跳轉(zhuǎn)到登陸頁(yè)面 # guys/urls.py urlpatterns里添加 url(r"^seeyou/$", "guys.views.accounts.logout", name="logout"),
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/37426.html
摘要:升級(jí)了,根據(jù)業(yè)務(wù)的需求,我們也準(zhǔn)備開發(fā)新版的網(wǎng)站,新加入會(huì)員管理,訂單查看等新功能,界面也會(huì)重新調(diào)整。官網(wǎng)熙魷記是一個(gè)什么樣的站點(diǎn),就是一個(gè)搞電商的,賣海鮮的,沒啥技術(shù)含量,沒啥高大上的概念。 Django升級(jí)1.7了,根據(jù)業(yè)務(wù)的需求,我們也準(zhǔn)備開發(fā)新版的網(wǎng)站,新加入會(huì)員管理,訂單查看等新功能,界面也會(huì)重新調(diào)整。官網(wǎng): http://www.youyutiao.com 熙魷記是一個(gè)什...
摘要:配置好和后,使用創(chuàng)建新項(xiàng)目。一開始因?yàn)榉枪俜經(jīng)]有使,倒是意外簡(jiǎn)單的成功了。。。在的里面添加數(shù)據(jù)庫(kù)引擎數(shù)據(jù)庫(kù)名用戶名密碼數(shù)據(jù)庫(kù)主機(jī),默認(rèn)為數(shù)據(jù)庫(kù)端口,默認(rèn)為 配置好virtualenv 和virtualenvwrapper后,使用pycharm創(chuàng)建新項(xiàng)目。之后要面臨的問(wèn)題就來(lái)了,之前一直使用的是sqlite作為開發(fā)數(shù)據(jù)庫(kù)進(jìn)行學(xué)習(xí),按照之前看教程的原則,好像就是說(shuō)開發(fā)環(huán)境要和生產(chǎn)環(huán)境盡量的...
摘要:前言之前讓網(wǎng)頁(yè)公司制作新官網(wǎng)的時(shí)候規(guī)劃有第三方賬號(hào)的登錄功能,但由于當(dāng)時(shí)的一些開放平臺(tái)申請(qǐng)步驟比較繁瑣尤其是微信開放平臺(tái),所以一直拖延著,到了最近只能自己添加相關(guān)的功能。 前言 之前讓網(wǎng)頁(yè)公司制作新官網(wǎng)的時(shí)候規(guī)劃有第三方賬號(hào)的登錄功能,但由于當(dāng)時(shí)的一些開放平臺(tái)申請(qǐng)步驟比較繁瑣(尤其是微信開放平臺(tái)),所以一直拖延著,到了最近只能自己添加相關(guān)的功能。 由于是剛接觸Python和Django...
摘要:配置這個(gè)啟動(dòng)其他方式安裝七牛云由于網(wǎng)站的靜態(tài)存儲(chǔ)要用七牛云,在運(yùn)行程序前要安裝否則報(bào)錯(cuò)沒有的方法。七牛云安裝前注意安裝的版本,我被坑過(guò)一次,寫程序時(shí)是版本,部署時(shí)都了,接口全都不一樣。還有推薦下這篇來(lái)自的部署實(shí)例 以下所有代碼中的操作都需要在命令行運(yùn)行 安裝mysql apt-get update apt-get install mysql-server mysql-client 根據(jù)...
閱讀 715·2021-09-29 09:34
閱讀 2567·2019-08-30 15:53
閱讀 3372·2019-08-29 17:17
閱讀 772·2019-08-29 16:08
閱讀 1133·2019-08-29 13:03
閱讀 961·2019-08-27 10:54
閱讀 696·2019-08-26 13:39
閱讀 2867·2019-08-26 13:34