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