python - Unable to save to database. Submitting form refreshes form page instead -
python - Unable to save to database. Submitting form refreshes form page instead -
i'm trying carry on player_id , save stakes table referencing player_id, foreign key stakes table. however, not sure how so. have edited views.py reflect 2 of answers below, still seems refresh form , not save database. thing can think of beingness due datetimefield. however, using copy/pasted date database in exact format uncertainty it.
models.py
class player(models.model): user_name = models.charfield(max_length=200) real_name = models.charfield(max_length=200) site_choices = ( ('ftp', 'full tilt poker'), ('stars', 'pokerstars'), ('ub', 'ultimate bet'), ) site_played = models.charfield(max_length=5, choices=site_choices) class stakes(models.model): player = models.foreignkey(player) stakes = models.charfield(max_length=200) amount_won = models.decimalfield(max_digits=12, decimal_places=2) last_play_date = models.datetimefield('date lastly updated')
views.py
def new_stake(request, player_id): if request.method == 'post': # if form has been submitted player = get_object_or_404(player, pk=player_id) form = stakeform(request.post) # form bound post info if form.is_valid(): # validation rules pass # process info in form.cleaned_data # ... stakes = form.cleaned_data['stakes'] amount_won = form.cleaned_data['amount_won'] last_played_date = form.cleaned_data['last_played_date'] stakes_new = stakes(player = player, stakes = stakes, amount_won = amount_won, last_played_date = last_played_date) stakes_new.save() homecoming httpresponseredirect('/stakeme/stake_added/') # redirect after post else: form = stakeform() # unbound form homecoming render_to_response('stakeme/new_stake.html', context_instance=requestcontext(request))
new_stake.html
<h1> new play </h1> {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} <form action="" method="post"> {% csrf_token %} stake played: <input type="text" name="stakes" id="stakes"/><br> amount won/lost: <input type="text" name="amount_won" id="amount_won"/><br> date/time of play: <input type="text" name="last_play_date" id="last_play_date"/><br><br> <input type="submit" value="add new play" /> </form>
urls.py
(r'^(\d+)/new_stake/$', 'new_stake', name='new_stake' ),
forms.py
class stakeform(forms.form): player_id = forms.integerfield() stakes = forms.charfield(max_length=200) amount_won = forms.integerfield() last_play_date = forms.datetimefield()
any help appreciated. thanks!
why can't like:
(r'^(\d+)/new_stake/$', 'new_stake', name='new_stake' ),
most erred out while validating form. might want go view find errors on lines of:
def new_stake(request, player_id): if request.method == 'post': # if form has been submitted form = stakeform(request.post) # form bound post info if form.is_valid(): # validation rules pass # process info in form.cleaned_data # ... stakes = form.cleaned_data['stakes'] amount_won = form.cleaned_data['amount_won'] last_played_date = form.cleaned_data['last_played_date'] stakes_new = stakes(player_id = player_id, stakes = stakes, amount_won = amount_won, last_played_date = last_played_date) stakes_new.save() homecoming httpresponseredirect('/stakeme/stake_added/') # redirect after post else: player = get_object_or_404(player, pk=player_id) player.form = stakeform(request.post) homecoming render_to_response('stakeme/new_stake.html', {'player': player} context_instance=requestcontext(request)) else: player = get_object_or_404(player, pk=player_id) player.form = stakeform() # unbound form homecoming render_to_response('stakeme/new_stake.html', {'player': player} context_instance=requestcontext(request))
python mysql django
Comments
Post a Comment