2016-02-17 3 views
0

Im обучения Джанго и в моих программах, у меня есть urls.py который имеет 2 urlpatterns в нем. Независимо от того, что когда-либо URL я использую в браузере, он перенаправляет к первому URL толькоДжанго: URL не служит нужной странице

Моего URLs

urlpatterns = [ 
    url(r'^', views.index, name='index'), 
    url(r'^contact/', views.contact, name='contact') 
] 

моему views.py

def index(request): 
    title = 'welcome' 
    form = SignupForm(request.POST or None) 
    context={'title':title,'form':form} 
    if form.is_valid(): 
     instance=form.save(commit=False) 
     email= form.cleaned_data['email'] 
     email_save,created=Signup.objects.get_or_create(email=email) 

    return render(request,'index.html',context) 

def contact(request): 
    contact_info=ContactForm(request.POST or None) 
    if contact_info.is_valid(): 
     contact_info.save(commit=False) 
     print contact_info.cleaned_data['name'] 

    return render(request,'contact.html',{'contact_info':contact_info}) 

Моим форма

class SignupForm(forms.ModelForm): 
    class Meta: 
     model = Signup 
     fields = ['fullname','email'] 

class ContactForm(forms.Form): 
    name=forms.CharField(max_length=128, required=True,) 
    email=forms.EmailField(required=True) 
    phone=forms.IntegerField(max_value=10) 
    message=forms.TextInput() 

согласно моему контакта URL он должен дать мне contact.html, но это делает только index.html enter image description here

Что может быть проблема?

+2

изменить первую строку перенаправления на 'url (r '^ $', views.index, name = 'index'),' –

+0

Спасибо ....... Это хорошо работает сейчас ....... ..cheers – spidy

ответ

3

Вы должны изменить первую строку перенаправления

url(r'^$', views.index, name='index') 

, потому что контакт URL страницы шаблон содержит ^ (URL шаблон индексной страницы), который перенаправляет вас на страницу индекса. Если вы меняете, как указано выше, страница index должна отображаться только тогда, когда строка url сопровождается пустой строкой.

Смежные вопросы