我有一個註冊表單,需要爲我的網站的每個頁面加載,如果用戶是來賓。我認爲最簡單的方法是創建一個「註冊」應用程序/模塊,並在init .py中定義窗體變量,以便在每個視圖中自動啓動它,假設我導入了該模塊。不過,我在查看錶單變量時遇到了一些麻煩。 「全球名稱」表單未定義「以下是我的設置:Django模塊,應用程序和導入問題 - 對象沒有屬性「窗體」
我有一個/ signup/init .py和/signup/form.py文件。
這是我初始化的.py
from django import forms
from signup.form import SignUpForm
form = SignupForm()
這是我form.py
class SignupForm(forms.Form):
fullname = forms.CharField(min_length=3, max_length=25, initial='name', error_messages={'required': 'A unique username is required.', 'min_length': 'Your username must contain at least 3 characters.'})
username = forms.CharField(min_length=3, max_length=25, initial='choose a username', error_messages={'required': 'A unique username is required.', 'min_length': 'Your username must contain at least 3 characters.'})
password = forms.CharField(min_length=7, initial='choose a password', error_messages={'required': 'Please enter a password.','min_length': 'Your password must contain at least 7 characters.'})
email = forms.EmailField(initial='e-mail address', error_messages={'required': 'Please enter a valid email address.', 'invalid': 'Please enter a valid email address.'})
find_me = forms.BooleanField(initial=True, required=False)
tos = forms.BooleanField(error_messages={'required': 'You must accept our Terms of Service.'})
而且我試圖加載那些從我/views/index.py文件:
from django.http import HttpResponse
from pymongo import *
from user import *
import mongo
from django.shortcuts import render_to_response
from django.template import RequestContext, loader
import signup
#index view
def index(request):
return render_to_response('index.html',
{'form': signup.form},
context_instance=RequestContext(request),
)
我刪除了index.py中不相關的代碼......但基本上......(我可能會h如果返回聲明只返回「表單」:表單,當用戶未註冊時)
我接近完全錯誤嗎?任何人都在向我展示我做錯了什麼?
::編輯::
另外,我注意到,我沒有signup.form的回報,但仍然拋出一個
AttributeError at/
'module' object has no attribute 'form'
錯誤。我改變了上面的代碼以適應
非常感謝。我是一個Django/Python newb ..我完全不知道你可以這樣做。 :) – Chris 2011-04-21 02:42:25