2010-05-04 5 views
2

J'ai une page Web qui affiche des données basées sur une date par défaut. L'utilisateur peut alors modifier sa vue des données en sélectionnant une date avec un sélecteur de date et en cliquant sur un bouton de soumission. J'ai déjà un ensemble de variables de sorte que si aucune date n'est choisie, une date par défaut est utilisée .... alors quel est le problème? Le problème est que si l'utilisateur essaye de taper dans la page URL sans paramètre ... comme ceci:Comment définir les valeurs par défaut dans django pour un HttpRequest.GET?

http://mywebpage/viewdata (example A) 

au lieu de

http://mywebpage/viewdata?date= (example B) 

J'ai essayé d'utiliser:

if request.method == 'GET': 

mais apparemment, même l'exemple A renvoie toujours vrai. Je suis sûr que je fais une erreur évidente de débutant mais je demanderai de toute façon ... Existe-t-il un moyen plus simple de gérer l'exemple A que de passer l'URL à une chaîne et de vérifier la chaîne "? Date ="?

Répondre

3

Je ne comprends pas vraiment votre question - un peu plus de code aurait aidé - mais ne vous ont pas besoin juste faire:

if 'date' in request.GET: 
+0

Daniel Roseman ... vous l'homme! C'est exactement ce dont j'avais besoin! Merci! – Mike

0
+0

No. POST pour présenter des observations qui changent les données, ou ont d'autres effets secondaires, pas seulement pour modifier la vue de ces données. –

+0

@Daniel, oui, mais il semblait qu'il veut faire une distinction entre l'utilisateur en cliquant sur le soumettre et le GET. Ou peut-être que je n'ai pas compris. Quoi qu'il en soit, les documents de demande-réponse ont suffisamment d'informations sur divers scénarios. – Unreason

6

Vous avez mentionné que vous avez défini des valeurs par défaut quelque part.

Au lieu de faire quelque chose comme ceci:

if 'date' in request.GET: 
    date = request.GET['date'] 
else: 
    date = '2010-05-04' 

Il est plus facile de le faire de cette façon:

date = request.GET.get('date', '2010-05-04') 
Questions connexes